1

对于自动化的需要,我想要这个管道脚本的 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 插件中编写整个脚本,但这不是最干净的方法。

4

0 回答 0