我试图将Jenkins配置为代码,并尝试将管道代码配置到配置中。到目前为止,我在doc (https://github.com/jenkinsci/job-dsl-plugin/tree/master/docs)中发现,如果我从Git中提取脚本,我就可以做到这一点,但是由于我的管道是一个简单的groovy脚本,所以我试图弄清楚如何在jobs.jcasc.yaml中定义它?
我的管道看起来是这样的:
pipeline {
agent {
kubernetes {
}
}
stages {
stage("test") {
steps {
script {
sshagent (credentials: ['ssh-key']) {
sh "some code"
}
}
}
}
}
}我看到的唯一选择是:
- script: |
pipelineJob('name') {
description('build')
definition {
cpsScm {
lightweight(true)
scm {
git {
remote {
url("URL")
credentials("key")
}
branch("master")
}
}
scriptPath("jenkinsfile")
}
}
}发布于 2022-08-24 06:16:53
好吧,我找到路了。看起来脚本本身可以定义如下:
pipelineJob('name') {
definition {
cps {
script('''
pipeline {
agent {
kubernetes {
}
}
stages {
stage("name") {
steps {
script {
sshagent (credentials: ['name']) {
sh "do something"
}
}
}
}
}
}
''')
}
}
}https://stackoverflow.com/questions/73419376
复制相似问题