Dockerコンテナを使用してJenkinsでビルド・パイプラインを構築していますが、そのイメージがJenkinsと同じサーバーに存在しない場合実行中です。私はこれを行うための最もシンプルでエレガントな方法の後ですが、私は何かを考え出すのに苦労しています。Jenkinsに存在しない場合にのみドッキング・イメージを構築する
答えて
あなたはからの出力を取ることができます:あなたが構築しようとする画像名をgrepすると
docker image ls
。
しかし、ジェンキンスでイメージを「ビルド」すると、既存のイメージが同じであっても「新しい」イメージが作成されます。どのように知っていますか?
ドッカーの画像はテンプレートです。異なるホストで画像を再構築しているようですね。その場合は、中央の(プライベート)レジストリを使用し、そのイメージが必要なさまざまなホストから取得することを検討してください。
このquestionの回答に記載されているように、画像が存在するかどうかを確認するには、次のようにします。
if [[ "$(docker images -q myimage:mytag 2> /dev/null)" == "" ]]; then
# do something
fi
ありがとう、私の謝罪、私は質問でこれを述べたはずだった、私は窓で動作する方法が必要です。 – ChrisAdkin
あなたが私に与えたものを受け取り、それをPowerShellの使用に適応させることができます。 – ChrisAdkin
@ChrisAdkinはい基本的に 'docker images'の-qオプションはウィンドウ上で同じように動作するはずです。 – yamenk
- 1. テーブルが存在し、カラムが存在しない場合にのみテーブルが存在する場合のみ複数のデータベースのテーブルにカラムを追加する
- 2. ファイルが存在しない場合にのみ作成する
- 3. Intelマシン上のARMアーキテクチャのドッキング・イメージを構築する(Mac)
- 4. 値が存在しない場合にのみ挿入
- 5. ARM - ストレージアカウントが存在しない場合にのみデプロイ
- 6. トリガーVSTSドッキング・ハブ・イメージ更新後に構築
- 7. ドッキング・イメージ(.NET Core)を構築し、それをGoogle Container Engineにアップロードしますか?
- 8. LEFT JOINのデータセットが存在する場合と存在しない場合
- 9. ファイルが存在しない場合は、存在しない場合
- 10. Rails ActiveRecordコールバック:存在する場合に更新する、存在しない場合に作成する
- 11. Algolia Indexにレコードが存在しない場合にのみ追加する
- 12. レコードが存在しない場合にのみテーブルに挿入する
- 13. オプションタグが存在しない場合のみ選択します
- 14. jsonファイルが存在しない場合のみインポートします
- 15. のWindows - 親ディレクトリが存在しない場合にのみ、ファイルをコピーする
- 16. 存在しない場合はINSERT、存在する場合は削除
- 17. PHP MYSQL UPDATE(存在する場合)またはINSERT(存在しない場合)?
- 18. 存在する場合はエンティティを削除し、Entity Frameworkに存在しない場合は追加します
- 19. QFtp存在しない場合にのみディレクトリを作成する
- 20. Mac PackageMaker:ファイルが存在しない場合にのみアクションを実行する
- 21. arraylistがまだ存在しない場合にのみintを追加する
- 22. PostgreSQLテーブルにプライマリキーを追加する(存在しない場合のみ)
- 23. 存在しない場所にフォルダ構造をコピーする
- 24. リレーションシップが存在する場合にのみ、熱心な負荷
- 25. ファイルが存在し、ファイルが存在しない場合にのみlinuxでオープンシステムコールを実行する方法?
- 26. JobDSL - すでにJenkinsに存在しない場合は新しいジョブを作成します。
- 27. Gremlin - 存在しない場合にのみ頂点を追加します。
- 28. 存在する場合はファイルに追加し、存在しない場合は作成する
- 29. Gitlab-CIからAmazon AWSへのドッキング・イメージの構築とプッシュECR
- 30. Kafka:メッセージがまだ存在しない場合にのみ公開する
ジンキンドッカープラグインまたは直接シェルコマンドを使用していますか? – yamenk
私はシェルコマンドを使用していますが、これがもっともエレガントなやり方を提供するならば、このプラグインを使用してもうれしいです。 – ChrisAdkin
イメージが既に存在する場合にイメージを構築したくない理由はありますか?作成するたびにイメージの内容が変更されない限り、Dockerビルドキャッシュは、既存のイメージの再構築がほぼ即時になることを意味します。 –