Questions tagged «jenkins-pipeline»

有关Jenkins“ Pipeline”插件套件(以前称为“ Workflow”)的问题。一般而言,与詹金斯的管道无关(例如,使用下游作业)。

10
错误“输入设备不是TTY”
我正在从中运行以下命令Jenkinsfile。但是,出现错误“输入设备不是TTY”。 docker run -v $PWD:/foobar -it cloudfoundry/cflinuxfs2 /foobar/script.sh 有没有一种方法可以在Jenkinsfile不进行交互模式的情况下从中运行脚本? 我基本上有一个名为的文件script.sh,希望在Docker容器中运行。



4
可以将注释添加到Jenkinsfile吗?
Jenkinsfile中可能有注释吗?如果是这样,语法是什么? 我正在使用声明性管道语法。 我要注释掉下面的“发布”部分,直到我的SMTP服务器正常工作为止。 pipeline { agent { label 'docker-build-slave' } environment { IMAGE = 'registry.gitlab.com/XXXXX/bible-server' DOCKER_REGISTRY_CREDENTIALS = credentials('DOCKER_REGISTRY_CREDENTIALS') } options { timeout(10) } stages { stage('Test') { steps { sh 'yarn' sh 'npm test' } } stage('Build') { when { branch '*/master' } steps { sh 'docker login -u ${DOCKER_REGISTRY_CREDENTIALS_USR} …


5
如何使用GitHub Org插件从jenkins管道(jenkinsfile)触发另一个工作?
如何从内部触发另一个作业的生成Jenkinsfile? 我假设这项工作是同一个github组织下的另一个存储库,该存储库已经有自己的Jenkins文件。 我也只想在分支名称为master时执行此操作,因为触发任何本地分支的下游构建都没有意义。 更新: stage 'test-downstream' node { def job = build job: 'some-downtream-job-name' } 不过,执行时我还是报错 找不到名为some-downtream-job-name的参数化作业 我确定这项工作存在于jenkins中,并且与当前工作位于同一组织文件夹下。这是另一项有自己的工作Jenkinsfile。 请注意,此问题特定于GitHub Organization Plugin,该插件可自动为GitHub Organization中的每个存储库和分支创建和维护作业。

13
Jenkins管道擦除工作区
我们正在运行Jenkins 2.x,并且喜欢新的Pipeline插件。但是,由于存储库中有如此多的分支,因此磁盘空间会迅速填满。 是否有任何与Pipeline兼容的插件,我可以在成功构建后清除工作空间?

1
jenkins管道:代理vs节点?
jenkins管道中的代理和节点之间有什么区别? 我发现了这些定义: node:管道执行的大多数工作是在一个或多个声明的节点步骤的上下文中完成的。 agent:agent指令指定整个管道或特定阶段在Jenkins环境中执行的位置,具体取决于agent指令的放置位置。 因此,两者都用于执行管道步骤。但是什么时候使用哪个呢?

5
詹金斯:无法在管道阶段定义变量
我正在尝试创建一个声明性的Jenkins管道脚本,但是简单变量声明存在问题。 这是我的脚本: pipeline { agent none stages { stage("first") { def foo = "foo" // fails with "WorkflowScript: 5: Expected a step @ line 5, column 13." sh "echo ${foo}" } } } 但是,我收到此错误: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 5: Expected a step @ line 5, column 13. def foo = …

15
如何在詹金斯管道作业中列出所有`env`属性?
给定了jenkins 2.1构建管道,jenkins将env变量注入node{}。例如,BRANCH_NAME可以通过 node { echo ${env.BRANCH_NAME} ... 我想回显詹金斯管道内的所有 env属性 ...考虑到我不知道所有物业提前。 我正在寻找类似的代码 node { for(e in env){ echo e + " is " + ${e} } ... 这会回声类似 BRANCH_NAME is myBranch2 CHANGE_ID is 44 ...

4
Jenkins CI管道脚本不允许使用groovy.lang.GroovyObject方法
我正在使用Jenkins 2来编译Java项目,我想从pom.xml中读取版本,我在遵循以下示例: https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md 该示例建议: 似乎在访问文件系统时存在一些安全问题,但是我无法弄清楚它给了什么(或为什么)该问题: 我只是在做一些与示例不同的事情: def version() { String path = pwd(); def matcher = readFile("${path}/pom.xml") =~ '<version>(.+)</version>' return matcher ? matcher[0][1] : null } 运行'version'方法时出现的错误: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.codehaus.groovy.runtime.GStringImpl call org.codehaus.groovy.runtime.GStringImpl) at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:165) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:117) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:103) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) at …

6
使用凭证结帐Jenkins Pipeline Git SCM?
我正在关注本教程: node { git url: 'https://github.com/joe_user/simple-maven-project-with-tests.git' ... } 但是,它没有告诉您如何添加凭据。Jenkins确实有特定的“凭据”部分,您可以在其中定义用户user&pass,然后获取要在作业中使用的ID,但是如何在管道说明中使用它呢? 我尝试了: git([url: 'git@bitbucket.org:company/repo.git', branch: 'master', credentialsId: '12345-1234-4696-af25-123455']) 没运气: stderr: Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 有没有一种方法可以配置管道中的凭据,还是必须将SSH密钥放入Jenkin的Linux用户的.ssh / authorized_keys文件中? 在理想的世界中,我想为管道作业和存储库提供一个存储库,然后启动Docker Jenkins,并在其中动态添加这些作业和密钥,而无需在Jenkins Console中进行任何配置。

7
Jenkins脚本化管道或声明性管道
我正在尝试将旧样式的基于项目的工作流转换为基于Jenkins的管道。在浏览文档时,我发现有两种不同的语法分别命名为scripted和declarative。例如declarative最近(2016年底)发布的Jenkins网络语法。尽管有一个新的语法版本,Jenkins仍然支持脚本化语法。 现在,我不确定这两种类型在哪种情况下是最佳匹配。scripted语法将很快被弃用吗?declarative詹金斯管道的未来会是这样吗? 可以分享有关这两种语法类型的一些想法的任何人。



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.