对于自动化的需要,我想要这个管道脚本的 YAML 版本:
pipeline {
agent any
stages {
stage('git clone - shell script') {
steps {
dir("SHSCRIPTS") {
git branch: 'master',
credentialsId: 'mycred',
url: 'oneGitURL'
}
}
}
stage('git clone - ansible') {
steps {
dir("ANSIBLE") {
git branch: 'master',
credentialsId: 'mycred',
url: 'anotherGitURL'
}
}
}
stage('install') {
steps {
dir("SHSCRIPTS") {
dir("JJB") {
sh "cp ./ansible_launcher.sh ../../ansible_launcher.sh"
}
}
dir("ANSIBLE") {
sh "/bin/bash ../ansible_launcher.sh $playbook"
}
}
}
}
}
也许有更好的方法从 repo 中获取 sh 文件并在另一个 git clone 上执行它。
在 YAML 中如何实现?我已经尝试过使用 SCM 插件,但由于我需要两个存储库,第二个会删除第一个。我可以在 DSL 插件中编写整个脚本,但这不是最干净的方法。