Questions tagged «jenkins-pipeline»

专门针对Jenkins 2.0的管道体系结构的问题。这包括声明性和脚本化管道。

4
成功清除Jenkins Pipeline工作的最干净方法?
我有一个可以创建文件的作业,除非馈入它的值之一与旧值匹配。是什么在詹金斯最清晰的方式中止或退出工作,没有它是FAILED?它退出是正确的行为,所以我要标记构建SUCCESS。 最终将以if语句结束。 stage ('Check value') { if( $VALUE1 == $VALUE2 ) { //if they do match exit as a success, else continue with the rest of the job } } 我不想抛出错误代码,除非它可以以某种方式转化为被标记为成功构建的代码。

2
如何构建复杂的并行Jenkins管道?
我一直对将定制的Jenkins集成转换为管道感兴趣。但是,我似乎无法弄清楚该怎么做。 有人可以帮助我完成以下工作的Jenkins脚本吗? 1---2---3-----------9---10 | | |---4-------| | | |---5---6---| | | |---7---| 1: Start pipeline 10: End pipeline 5: Build some files * needed by 6, 7, * needed as artifacts at the end 2, 3, 4, 6, 7: Have jUnit result files, should be available at end of test …

1
在管道作业中运行后台进程
我正在寻找一种使用Jenkins声明性管道在后台运行Java进程的方法。下面是代码片段 stage('Deploy'){ steps{ script{ withEnv(['BUILD_ID=dontkill']) { sh "nohup java -jar test-0.0.1-SNAPSHOT.war &" } } } } 已经知道詹金斯(Jenkins)的ProcessTreeKiller,并且每个答案都建议这样做。我尝试在步骤块内使用环境没有运气。 Jenkins版本:2.60.1 管道插件:1.1.7 任何帮助是极大的赞赏。

3
在Jenkins声明式管道中使用Artifactory插件
我正在使用Jenkins声明性管道自动化我的构建过程。仅在某些条件(Sonar,Checkmarx)通过的情况下,我们才希望将工件发布到远程JFrog存储库。 经过一番研究,我发现Artifactory插件对此很有用。但是我找不到有关如何集成到声明式管道中的任何文档。以下是Jenkinsfile的代码段 stages{ stage('Pre-Build'){ steps{ script{ def server = Artifactory.server 'LocalJfrog' def rtGradle = Artifactory.newGradleBuild() rtGradle.resolver server: server, repo: 'gradle-dev-local' rtGradle.deployer server: server, repo: 'gradle-release-local' rtGradle.useWrapper = true } } } } 上面的代码无法进行条件发布,因为即使禁用了自动发布,我也无法重用服务器变量。

3
Jenkins:使用Docker作为构建环境的权限问题
我在Ubuntu 16.04机器上安装了Jenkins。Jenkins本身不在容器中运行。我要做的只是yarn install使用节点图像进行调用。这是我的Jenkinsfile: pipeline { agent any stages { stage('install node modules...') { agent { docker 'node' } steps { sh 'cd /path/to/package.json; yarn install' } } } } 很简单吧? jenkins用户/组为112:116,节点容器的uid为1000,因此yarn进程(作为节点用户1000运行)无法执行其操作,例如mkdir /.config。 我试图旋转传入参数的节点容器-u 1000,在尝试创建持久目录时遇到了权限问题。 看起来像是另一种问题,我该如何解决? 詹金斯日志: 下面是构建开始和失败的地方。 [Pipeline] sh [Pipeline_Test_Jenkins_test-4JTFYMX7KSJY6ZH44VINNGEB7WH2D2HWYZN5ABF6O32O2HBQJYXQ@2] Running shell script + docker inspect -f . node . …

1
詹金斯管道工作;正确引用slackSend步骤
这可能是100%用户错误,但是在slackSend步骤中,我无法获得管道作业来使用变量作为通道名称。 这同时使用了Slack插件和Build User Vars插件。我试图用来BUILD_USER_FIRST_NAME确定Slack退回到哪个渠道(即,开始构建的渠道应该是获取消息的渠道)。 这篇文章半路介绍了如何在管道作业中使用构建用户插件,但是替换变量让我大跌眼镜。 工作的相关部分如下所示; stage ('message') { wrap([$class: 'BuildUser']) { sh "printf '%s' ${BUILD_USER_FIRST_NAME} > name.txt" } archiveArtifacts artifacts: 'name.txt' name = readFile('name.txt') echo "name is $name" //works fine, I get Alex if ( "$output" != null ) { slackSend (channel: '@$name', color: '#36A64F', message: "Job succeeded") } …


2
如何禁用Multibranch Jenkins构建中的某些分支?
我有一个多分支作业集,可以使用Jenkinsfile运行任何分支。 如果要从多分支管道运行的作业列表中删除分支,我可以考虑一些选择。 我可以删除分支 我可以在该分支中删除Jenkinsfile 第二个解决方案是好的,除了我需要提交该分支并将其推送到我的分支的git repo上,并且如果该分支合并到另一个分支中,它将使Jenkinsfile消失。 禁用多分支管道的某些分支的最佳方法是什么?

1
如何在合并时或删除分支时触发脚本?
我正在使用詹金斯多分支管道。如果分支被合并和删除,詹金斯也将从管道中删除该分支。 很好,但是我想在删除分支时运行命令/脚本,如何让詹金斯在删除分支时运行命令?有没有办法让詹金斯在删除分支之前触发作业? 编辑:我应该添加我正在使用bitbucket。如果詹金斯在清除多分支管道的分支时可以触发事件,那将是一件很整洁的事情。理想情况下,我的git提供者是什么都没有关系。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.