在编写jenkins管道时,提交每个新更改以查看它是否有效似乎非常不方便。
是否有一种方法可以在本地执行这些而不提交代码?
在编写jenkins管道时,提交每个新更改以查看它是否有效似乎非常不方便。
是否有一种方法可以在本地执行这些而不提交代码?
当前回答
这是一个简短的解决方案,可以让我非常快速地测试管道代码:
pipeline {
agent any
options {
skipDefaultCheckout true
timestamps()
}
parameters {
text(name: 'SCRIPT', defaultValue: params.SCRIPT,
description: 'Groovy script')
}
stages {
stage("main") {
steps {
script {
writeFile file: 'script.groovy',
text: params.SCRIPT
def groovyScript = load 'script.groovy'
echo "Return value: " + groovyScript
}
} // steps
} // stage
} // stages
} // pipeline
skipDefaultCheckout为true,因为我们不需要这个工具git存储库中的文件。 defaultValue:参数。SCRIPT将默认值设置为最近一次执行。如果只有一个用户使用,它允许非常快速的短测试周期。 给定的脚本被写入一个文件,并加载和加载。
有了这个设置,我可以在其他jenkins文件中测试我能做的所有事情,包括使用共享库。
其他回答
这是一个简短的解决方案,可以让我非常快速地测试管道代码:
pipeline {
agent any
options {
skipDefaultCheckout true
timestamps()
}
parameters {
text(name: 'SCRIPT', defaultValue: params.SCRIPT,
description: 'Groovy script')
}
stages {
stage("main") {
steps {
script {
writeFile file: 'script.groovy',
text: params.SCRIPT
def groovyScript = load 'script.groovy'
echo "Return value: " + groovyScript
}
} // steps
} // stage
} // stages
} // pipeline
skipDefaultCheckout为true,因为我们不需要这个工具git存储库中的文件。 defaultValue:参数。SCRIPT将默认值设置为最近一次执行。如果只有一个用户使用,它允许非常快速的短测试周期。 给定的脚本被写入一个文件,并加载和加载。
有了这个设置,我可以在其他jenkins文件中测试我能做的所有事情,包括使用共享库。
使用VS Code Jenkins Jack扩展,你可以在不使用git推送的情况下测试你的Jenkins文件,从你的本地文件到本地或远程运行的Jenkins。你将在VS Code中有作业的运行日志,能够在Jenkins中创建作业和更多的工作人员。我希望这有助于更多的人寻找一种方法来开发詹金斯档案。
Jenkins有一个“重放”功能,它可以让你快速重放作业而不更新源:
您可以验证您的管道以找出语法问题。Jenkins有很好的用于Jenkisfile验证的API - https://jenkins_url/pipeline-model-converter/validate
使用curl并传递.Jenkinsfile,您将立即得到语法检查
curl --user username:password -X POST -F "jenkinsfile=<jenkinsfile" https://jenkins_url/pipeline-model-converter/validate
您可以将此工作流添加到编辑器:
VS代码 崇高的文本
在撰写本文时(2017年7月底),使用Blue Ocean插件,您可以直接在可视化管道编辑器中检查声明式管道的语法。当你点击“配置”时,编辑器从蓝海UI工作,仅用于github项目(这是一个已知的问题,他们正在努力使它也适用于git等)。
但是,正如在这个问题中解释的那样,你可以打开编辑器浏览到:
詹金斯[URL] /蓝色/组织/ Jenkins / pipeline-editor /
然后单击页面中间,并按Ctrl+S,这将打开一个文本区域,您可以在其中粘贴管道声明性脚本。当您单击Update时,如果有语法错误,编辑器将告诉您语法错误在哪里。就像这张截图:
如果没有语法错误,文本区域将关闭,页面将显示您的管道。别担心,它不会保存任何东西(如果它是一个github项目,它会提交Jenkinsfile更改)。
我是Jenkins的新手,这是非常有用的,没有这个,我不得不多次提交一个Jenkins文件,直到它工作(非常讨厌!)希望这能有所帮助。欢呼。