gpt4 book ai didi

docker - 在 Jenkinsfile 中检查 docker 服务是否存在

转载 作者:行者123 更新时间:2023-12-02 09:17:10 25 4
gpt4 key购买 nike

我正在通过 Jenkins 设置 CI 管道。

我创建了以下 Jenkinsfile:

pipeline {
agent none

stages {
stage('Build and push image') {
agent {
label 'man'
}
steps {
sh 'docker image build -t login:stage .'
sh 'docker tag login:stage 192.168.66.201:5000/login:stage'
sh 'docker push 192.168.66.201:5000/login:stage'
}
}
stage('Create Service') {
agent {
label 'dev'
}
steps {
sh 'docker service create --name loginService -p 40001:40001 --replicas=3 192.168.66.201:5000/login:stage'
}
}
}
}

我知道,我可以使用 docker 的组件 (docker.withRegistry),但我喜欢在第一次尝试时手动执行它,以便确切地知道会发生什么。

但我的问题是如果 docker 服务已经存在,如何检查“创建服务”阶段。如果他存在,我喜欢执行更新语句。

你有什么想法吗?使用谷歌或 Jenkins 文档并没有真正帮助我..

最佳答案

一种方法:

docker service ls | grep <service-name> && echo service-exists

如果具有名称的服务存在,回显将执行。将 echo 替换为您打算使用的更新命令。

关于docker - 在 Jenkinsfile 中检查 docker 服务是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45792819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com