2017-08-21 12 views
0

私はJenkinsによってCI Pipelinを設定しています。私は、次のJenkinsfile作成ドッカーサービスがある場合は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.withRegistry)を使用することができますが、私は正確に何が起こるかを知っていた最初の試みで、手動でそれを行うのが好き。

しかし私の質問は、ドッカーサービスが既に存在する場合、 "サービス作成" -Stageをチェックインする方法です。彼が存在すれば私は更新ステートメントを実行するのが好きです。

あなたは何か考えていますか? Googleやジェンキンスドキュメントを使用して、本当に私を助けていなかった。これを行うための

答えて

2

一つの方法:名前のサービスが存在する場合は

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

は、エコーが実行されます。エコーを使用する更新コマンドに置き換えます。

関連する問題