、管理が容易です。特にマイクロサービスをお持ちの場合、プロジェクトは複数のマイクロサービスで構成されています。プロジェクトごとに1つのリポジトリごとに1つのリポジトリを管理するのは苦労します。
たとえば、ユーザーapiがあります。 ドッカーのレポはusers
です。このレポは、alpha
,dev
、およびbeta
によって使用されます。
当社は、CI/CDサービスに$DOCKER_TAG
と呼ばれたenv変数を作成し、このように、ビルドが作成された時点でそれを設定します。
DOCKER_TAG: $(date +%Y%m%d).$BUILD_NUMBER
=>これはbashです。
ここで、$BUILD_NUMBER
は、CI/CD実行がトリガされたときに実行されるビルドによって以前に設定されています。たとえば、PRをマージすると、ビルド番号がビルドされます。 1、だから$BUILD_NUMBER: 1
。
使用と、得られるタグは次のようになります。20171612.1
ので、私たちのドッキングウィンドウのイメージがある:users:20171612.1
なぜ、この形式?
- それは、私たちは 実行タスクと異なる環境で同じタグを展開することができます。
- これは、画像がいつ作成されたか、それが属する画像をどのようなものにするかを追跡するのに役立ちます。
- ビルド番号から、必要に応じてコミット情報とすべてのマップを見つけることができます。
- プロジェクトごとに同じドッカーレポを使用することができます。
- タグ自体から画像を作成したときは知っておきましょう。
したがって、マージすると1つのビルドが作成されます。そのビルドは、必要に応じてさまざまな環境に展開されます。環境ごとに独立したビルドを作成することはありません。そして、どこに展開されているのかを把握しています。
特定のタグを持つ環境にバグがある場合は、そのようなタグを作成してビルドして、その状態で問題を再現します。問題が見つかった場合は、タグ20171612.1
にビルド番号がありますので、ビルド番号はわかります。 1に問題があります。私たちはCI/CDサービスをチェックしており、コミットが最新であることがわかります。 gitからコミットハッシュをチェックしてデバッグし、問題を修正します。次に、それを修正プログラムとして展開します。
まだCI/CDをお持ちでなく、手動で行っている場合は、手動でその形式のタグを設定してください(完全な文字列をそのまま入力してください)。ビルド番号の代わりにa (あなたはgitのを使用している場合)、短いGitのハッシュをコミット:
20170612.ed73d4f
ですから、あなたが特定の画像で問題をトラブルシューティングし、必要に応じて修正を作成するために、コードに戻ってマッピングすることができますコミット最新であるか知っています。
また、コードバージョンに対応するタグに他の接尾辞を定義することもできます。これにより、簡単にトラブルシューティングを行うことができます(例:gitタグを使用している場合はgitタグにマッピングします)。
試してみて、必要に応じて調整し、あなたとあなたのチームにとって最適な動作をさせてください。タグ付けにはさまざまな方法があります。私達は多くを試みました、そして、これは今まで私たちのお気に入りです。
これは役に立ちましたか?