标签: jenkins

如何使用GitHub Org插件从jenkins管道(jenkinsfile)触发另一个作业?

如何从内部触发另一个作业的构建Jenkinsfile

我假设这个工作是同一个github组织下的另一个存储库,一个已经有自己的Jenkins文件.

我也想在分支名称为master时执行此操作,因为触发任何本地分支的下游构建没有意义.

更新:

stage 'test-downstream'
node {
     def job = build job: 'some-downtream-job-name'
}
Run Code Online (Sandbox Code Playgroud)

仍然,执行时我得到一个错误

找不到名为some-downtream-job-name的参数化作业

我确信这个工作存在于jenkins中,并且与当前工作文件夹在同一组织文件夹下.这是另一项有自己的工作Jenkinsfile.

请注意,此问题特定于GitHub组织插件,该插件可从GitHub组织自动创建和维护每个存储库和分支的作业.

groovy jenkins jenkins-workflow jenkins-pipeline

118
推荐指数
5
解决办法
18万
查看次数

Python的"漂亮"持续集成

这是一个有点虚荣的问题,但BuildBot的输出并不是特别好看.

例如,与...相比

..和其他人,BuildBot看起来相当......古老

我目前正在玩Hudson,但它是以Java为中心的(虽然在本指南中,我发现它比BuildBot更容易设置,并产生了更多信息)

基本上:有没有针对python的持续集成系统,它会产生大量闪亮的图形等等?


更新:从那时起,Jenkins项目取代了Hudson作为该软件包的社区版本.原作者也转到了这个项目.Jenkins现在是Ubuntu/Debian,RedHat/Fedora/CentOS等标准软件包.以下更新仍然基本正确.与詹金斯一起做这件事的出发点是不同的.

更新:在尝试了一些替代方案之后,我想我会坚持使用哈德森.诚信很好,很简单,但非常有限.我认为 Buildbot更适合拥有众多构建从服务器,而不是像我使用它一样在一台机器上运行.

为Hudson设置Python项目非常简单:

  • http://hudson-ci.org/下载Hudson
  • 运行它 java -jar hudson.war
  • 在默认地址上打开Web界面 http://localhost:8080
  • 转到Manage Hudson,Plugins,单击"更新"或类似内容
  • 安装Git插件(我必须git在Hudson全局首选项中设置路径)
  • 创建新项目,输入存储库,SCM轮询间隔等
  • 安装nosetests通过,easy_install如果它还没有
  • 在构建步骤中,添加 nosetests --with-xunit --verbose
  • 选中"发布JUnit测试结果报告"并将"测试报告XML"设置为 **/nosetests.xml

这就是所需要的.您可以设置电子邮件通知,插件值得一看.我目前正在使用的一些Python项目:

  • SLOCCount插件计算代码行(并绘制图表!) - 您需要单独安装sloccount
  • 用于解析PyLint输出的违规(您可以设置警告阈值,绘制每个构建的违规数量)
  • Cobertura可以解析coverage.py输出.使用时,Nosetest可以在运行测试时收集覆盖率nosetests --with-coverage(这会将输出写入**/coverage.xml)

python continuous-integration buildbot jenkins

116
推荐指数
6
解决办法
3万
查看次数

将多个git repos签出到同一个Jenkins工作区

使用Jenkins 1.501和Jenkins Git插件1.1.26

我有3个不同的git repos,每个都有多个项目.

现在我需要将3 git repos中的所有项目签出到Jenkins slave上的相同工作区.我已经定义了每个git repo:源代码管理:多个SCM.但每次签出回购时,前一个回购(及其相关项目)都会被删除.

我读过这个:

http://jenkins.361315.n4.nabble.com/multiple-git-repos-in-one-job-td4633300.html

但它并没有真正帮助.我试图在所有repos的repo(可选)的Local子目录下指定相同的文件夹,但它给出了相同的结果.

如果使用Jenkins根本不可能,我猜一些预构建步骤/脚本可以用来将项目移动到正确的位置.它不是修改项目的构建配置的选项.

git jenkins

116
推荐指数
6
解决办法
13万
查看次数

Gitlab CI vs Jenkins

任何人都可以让我知道Jenkins和其他CI之间有什么区别,比如Gitlab-CI,drone.io随GIT发行.在一些研究中,我只能提出Gitlab社区版不允许添加Jenkins,但Gitlab企业版可以.还有其他重大差异吗?

git jenkins gitlab gitlab-ci drone.io

115
推荐指数
4
解决办法
7万
查看次数

Jenkins Git插件:如何构建特定标签?

我在让Jenkins构建指定标签时遇到问题.标签是参数化构建的一部分,但我不知道如何将其传递给git插件以构建该标记.这已经花了我3个小时的时间,我已经在堆栈溢出时承认了失败的主人.

git jenkins

114
推荐指数
7
解决办法
14万
查看次数

如何手动在Jenkins中安装插件

从更新中心安装插件会导致:

检查互联网连接无法连接到 http://www.google.com/.也许您需要配置HTTP代理?部署插件失败 - 详细信息hudson.util.IOException2:无法从http://updates.jenkins-ci.org/download/plugins/deploy/1.9/deploy.hpi下载

是否可以下载插件并手动将其安装到Jenkins中?

jenkins jenkins-plugins

114
推荐指数
7
解决办法
17万
查看次数

jenkins管道:代理vs节点?

jenkins管道中的代理节点之间有什么区别?

我找到了那些定义:

  • 节点:管道执行的大多数工作是在一个或多个声明的节点步骤的上下文中完成的.
  • agent:agent指令指定整个Pipeline或特定阶段在Jenkins环境中的执行位置,具体取决于agent指令的放置位置.

因此两者都用于执行管道步骤.但什么时候使用哪一个?

jenkins jenkins-pipeline

114
推荐指数
1
解决办法
6万
查看次数

尝试在unix上连接到Docker守护程序套接字时获得权限被拒绝:///var/run/docker.sock

我是码头工人的新手.我只是尝试在我的本地机器(Ubuntu 16.04)中使用docker和Jenkins.

我使用下面的管道脚本配置了一个新作业.

node {
    stage('Build') {
      docker.image('maven:3.3.3').inside {
        sh 'mvn --version'
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

但它失败并出现以下错误.

在此输入图像描述

jenkins docker jenkins-pipeline

111
推荐指数
15
解决办法
10万
查看次数

如果执行shell失败,请不要失败jenkins build

作为构建过程的一部分,我正在运行git commit作为执行shell步骤.但是,如果工作区中没有更改,Jenkins将无法进行构建.这是因为当没有提交更改时,git返回错误代码.我想要中止构建,或者只是在这种情况下将其标记为不稳定.有任何想法吗?

jenkins

110
推荐指数
11
解决办法
14万
查看次数

如何在Windows下作为服务启动时为Jenkins提供更多堆空间?

我想增加Jenkins的可用堆空间.但由于它作为服务安装,我不知道该怎么做.

heap jvm-arguments jenkins

109
推荐指数
5
解决办法
16万
查看次数