小编Sal*_*ley的帖子

有没有像 Landscape.io 这样的工具可以与 Mercurial/BitBucket 一起使用?

我想使用 Landscape.io 之类的工具来跟踪人们可能不小心引入开源项目的技术债务。不幸的是,该工具似乎只适用于 GitHub。

是否有类似的工具可以提供静态代码分析作为与 BitBucket 和 Mercurial 兼容的托管服务?

我确信我可以使用在 Jenkins 下运行的手卷短绒棉来获得大部分内容,但我宁愿不必维护它。没有真正成为我想花太多时间的项目的核心部分,这是一件好事。换句话说,我想要一个随时可用的解决方案。

我的项目是 Python 3.x

mercurial continuous-integration python-3.x landscape.io

5
推荐指数
0
解决办法
306
查看次数

我可以在Jenkinsfile中使用函数构建阶段吗?

我想使用一个函数来构建Jenkinsfile的某些阶段。这将是一个包含多个重复阶段/步骤的构建-我不想手动生成所有内容。

我想知道是否可以做这样的事情:

_make_stage() {
    stage("xx") {
        step("A") {
            echo "A"
        }

        step("B") {
            echo "B"
        }
    }
}

_make_stages() {
    stages {
        _make_stage()
    }
}

// pipeline starts here!
pipeline {
    agent any
    _make_stages()
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,詹金斯(Jenkins)不喜欢这样-当我跑步时出现错误:

WorkflowScript: 24: Undefined section "_make_stages" @ line 24, column 5.
       _make_stages()
       ^

WorkflowScript: 22: Missing required section "stages" @ line 22, column 1.
   pipeline {
   ^
Run Code Online (Sandbox Code Playgroud)

那么,这里出了什么问题?_make_stages()函数实际上看起来像是返回了stage对象返回的内容。我将其放在函数调用中还是直接将其内联到管道定义中,为什么都重要?

groovy jenkins jenkins-pipeline

5
推荐指数
1
解决办法
6543
查看次数

如何从Windows工作站向我的专用Artifactory服务器提供SBT凭证?

我正在Windows桌面上的公司防火墙后面使用sbt 0.13.13。

我们有一个Artifactory,似乎在其他构建工具上工作得很好,但我也想使SBT正常工作,但是我什至无法启动sbt 0.13.x!

当我尝试启动SBT时,我从启动器中收到此错误:

C:\workspace\aggregator2>c:\apps\sbt-0.13.13\sbt-launcher-packaging-0.13.13\bin\sbt
Getting org.scala-sbt sbt 0.13.13 ...

:: problems summary ::
:::: WARNINGS
                module not found: org.scala-sbt#sbt;0.13.13

        ==== local: tried

          C:\Users\USERNAME\.ivy2\local\org.scala-sbt\sbt\0.13.13\ivys\ivy.xml

          -- artifact org.scala-sbt#sbt;0.13.13!sbt.jar:

          C:\Users\USERNAME\.ivy2\local\org.scala-sbt\sbt\0.13.13\jars\sbt.jar

        ==== my-ivy-proxy-releases: tried

          http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org.scala-sbt/sbt/0.13.13/ivys/ivy.xml

        ==== my-maven-proxy-releases: tried

          http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org/scala-sbt/sbt/0.13.13/sbt-0.13.13.pom

          -- artifact org.scala-sbt#sbt;0.13.13!sbt.jar:

          http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org/scala-sbt/sbt/0.13.13/sbt-0.13.13.jar

                ::::::::::::::::::::::::::::::::::::::::::::::

                ::          UNRESOLVED DEPENDENCIES         ::

                ::::::::::::::::::::::::::::::::::::::::::::::

                :: org.scala-sbt#sbt;0.13.13: not found

                ::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)

实际上,这些URL确实存在-当我用Chrome或Curl打入它们并提供凭据时,我便能够检索所有必需的资源。

当我查看日志时,可以看到发生了什么:

try to get credentials for: Artifactory Realm@artifactory.bigcompany.com
authentication: k='Artifactory Realm@artifactory.bigcompany.com' c='null'
HTTP response status: 401 url=http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org.scala-sbt/sbt/0.13.13/ivys/ivy.xml
CLIENT ERROR: Unauthorized url=http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org.scala-sbt/sbt/0.13.13/ivys/ivy.xml
    my-ivy-proxy-releases: resource not reachable for org.scala-sbt#sbt;0.13.13: …
Run Code Online (Sandbox Code Playgroud)

scala artifactory sbt

4
推荐指数
1
解决办法
4271
查看次数

如何将 rsync 恶魔日志记录到标准输出(而不是日志文件)?

我在 Supervisor 下运行 rsync。我通常这样启动 rsync 守护进程:

rsync --daemon --config=/home/zs6ftad/deployments/cmot_rsync_daemon/rsyncd.conf --no-detach
Run Code Online (Sandbox Code Playgroud)

我想这样做,以便任何日志消息都会回显到标准输出,而不是存储在日志文件中。是否有一个选项可以使 rsync 服务器以这种方式运行?

rsync

4
推荐指数
1
解决办法
1631
查看次数

SBT凭证配置应该去哪里?

我在Windows上运行SBT 1.1.1。

如果将以下行放入build.sbt中,则构建正常:

credentials += Credentials(Path.userHome / ".sbt" / ".credentials")
Run Code Online (Sandbox Code Playgroud)

问题是,我不想在项目中保留这种特定于机器的配置。另外,为了使用g8模板,我需要有一个有效的全局配置。

但是,如果我将相同的文本放在以下目录中的名为certificate.sbt的文件中,则似乎无法正常工作。

  • %USERPROFILE%/。sbt / 1.1 / plugins / credentials.sbt
  • %USERPROFILE%/。sbt / 1.1 / credentials.sbt
  • %USERPROFILE%/。sbt / plugins / credentials.sbt

那么该文件应该放在哪里?

我将文件放在任何位置,都会出现以下错误:

C:\workspace\tmp>c:\apps\sbt-1.1.1\bin\sbt.bat new sbt/scala-seed.g8
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Loading settings from credentials.sbt ...
[info] Loading global plugins from C:\Users\NBKA0O5\.sbt\1.0\plugins
[info] Updating ProjectRef(uri("file:/C:/Users/NBKA0O5/.sbt/1.0/plugins/"), "global-plugins")...
[error] Unable to find credentials for [Artifactory Realm @ artifactory.company.com].
[error] Unable to find …
Run Code Online (Sandbox Code Playgroud)

sbt

4
推荐指数
1
解决办法
968
查看次数

我应该把 Celery 配置文件放在哪里?

celery 文档提供了一个配置文件的例子很有帮助,但它不太清楚把这个文件放在哪里,或者如何确保工作人员在启动时读取这个配置文件。

celery.py 定义了一个celery.Celery名为的对象,app我用它来装饰我的所有任务。所有任务都在/myproj/tasks/.

我的目录结构有点像这样:

/myproj/celery.py
       /celeryconfig.py # my settings
       /tasks/ # tasks go here
Run Code Online (Sandbox Code Playgroud)

有什么我可以放入celery.py它来加载celeryconfig.py文件的东西,还是我需要在工作命令行参数上指定它?

这是我的配置文件现在的样子:

## Broker settings.
broker_url = "pyamqp://admin:ypass@mq:5672"

# List of modules to import when the Celery worker starts.
imports = ('stoneid.tasks',)
Run Code Online (Sandbox Code Playgroud)

python celery

4
推荐指数
1
解决办法
3645
查看次数

我可以编写一个返回n元组的scala函数,其中n由参数定义吗?

我正在尝试编写一个scala函数,从tweets生成n-gram.

该函数将采用两个参数,首先是字符串列表(我们要检查的推文)和一个整数n.如果我们将n设置为2(默认值),那么函数的结果将是2元组的HashMultiset,同样如果我们将其设置为3,那么结果将是3元组的HashMultiset.

有没有办法定义这样的功能?我想明确我的输入,所以我不想只是将函数定义为返回Any的MultiSet.

这是我到目前为止的存根函数,它只适用于n == 2:

def extract_ngrams(tweets:List[String], n:Int=2):HashMultiset[(String,String)] = {
val result = HashMultiset.create[(String,String)]()
result.add(("a", "a"))
result
}
Run Code Online (Sandbox Code Playgroud)

scala

3
推荐指数
2
解决办法
555
查看次数

我可以在 Python 中以编程方式访问 ulimit 和 sysctl.conf 变量吗?

我想验证大量 Linux 主机是否设置正确。目前我可以通过 grepping sysctl.conf 并执行 ulimit 等命令来做到这一点:

[username@hostname ~]$ tail -2 /etc/sysctl.conf
fs.file-max = 65536
vm.max_map_count = 262144
[username@hostname ~]$ ulimit -u
4096
Run Code Online (Sandbox Code Playgroud)

我想编写一个脚本来收集以下所有数据:

  • 最大文件描述符
  • 最大线程数
  • 最大地图数量

当然,我可以通过自动化手动过程来获取此数据,但是是否有更编程的方式在 Python 中获取此数据?我宁愿知道操作系统报告的值是什么,而不是配置文件中的内容 - 以防万一存在差异。

python linux

3
推荐指数
1
解决办法
1393
查看次数

我可以在私人 git 存储库中添加角色作为 Ansible 中的元/依赖项吗?

我有一堆想要重用的 Ansible 角色。它们每个都保存在私有 BitBucket 中的一个 repo 中。

我想为我正在处理的角色添加托管在 Git 中的项目作为元/依赖项,但我不太清楚语法是什么。

在这个非工作示例中,一个角色需要在运行之前先使用参数部署另一个角色。

仅供参考,远程角色“acm_layout”旨在为服务器创建标准目录布局,以便我的角色可以在知道所有标准目录已经存在的情况下运行。

---
dependencies:
   - { role: project_keys } # Works fine, just reuses a local role

   - name: acm_layout # Doesn't work, but this is what I want to fix
     src: ssh://git@bigcompany.com/acm/acm_layout.git
     scm: git
     version: feature/initialize
     application_storage_dir: "{{base_storage_dir}}"
     application_data_dir: "{{app_data_dir}}"
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到以下错误:

ERROR! the role 'acm_layout' was not found in [lots of paths deleted]

The error appears to have been in '/home/zs5fgzg/_tmp/horizon_deployment_scf/ansible/roles/horizon_layout/meta/main.yaml': line 4, column 6, but may
be elsewhere …
Run Code Online (Sandbox Code Playgroud)

ansible

3
推荐指数
1
解决办法
3802
查看次数

删除所有停止的容器(在 Windows 上)?

在 Linux 上,我可以使用这个方便的单行删除所有已停止的容器:

$ docker rm $(docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)

此处记录:删除所有已停止的容器

但是 Windows 的等效语法是什么?

windows docker

3
推荐指数
1
解决办法
1836
查看次数