Jenkins declearative Pipeline Script



我想编写一个执行以下操作的脚本 从 git 拉取存储库,如果存储库已经存在意味着第二次运行它,然后删除旧文件夹并拉取存储库 然后我的存储库包含 docker-compose 文件,如果 docker compose 已经工作,那么停止它,现在 docker-compose up -d 代码如下:

pipeline {
agent any
stages {
stage('Pull the repo') {
steps {
sh "sudo rm -r devops1"
sh "git clone https://github.com/xyz/devops1.git"
}
}
stage('run it :D'){
steps{
dir('devops1'){
sh "sudo docker-compose down"
sh "sudo docker-compose up -d"
}
}
}
}
}

当尚未获取存储库时它会失败,如果 else 条件,我无法放置。寻求任何帮助或建议,谢谢:)

rm -rf忽略不存在的目录

docker-compose up重新启动服务,无需先调用 docker-compose 关闭

最新更新