43

Docker Hub で Automated Build を指定すると、いくつかの設定 ( Type('Branch' または 'Tag')、NameDockerfile LocationおよびDocker Tag Name) を設定できます。しかし、残念ながら、それらのドキュメントは見つかりませんでした。

Type「Branch」を選択してを入力するNameと、これは GitHub/BitBucket の git リポジトリからのブランチが使用され、そのDocker Tag Name結果、作成されたイメージにタグが割り当てられると思います。

私はそれを少しいじって、私にははっきりしないことがいくつか見つかりました-しかし、あなたが私に説明してくれることを願っています.

  • 複数のエントリを追加すると、割り当てられるタグは 1 つだけになります。最初のものでは「Branch」、「master」、「/」、「latest」を使用Docker Tag Nameし、2番目のものでは「v1」を使用しました。ただし、タグとして使用されるのは「v1」のみです。

  • 「タグ」を使用Typeしても、異なる結果にはなりませんでした。git commit がこの値でタグ付けされている場合にのみ、これはイメージを構築する可能性があると思いました。このタイプは何のためですか?

タグ「最新」を最新のビルドに割り当て、イメージをローカルでビルドするときにできるように、古いビルドに v1、v2、v3 などのスキームを使用する機能を探していました。

4

7 に答える 7

49

自動化された Docker イメージのタグ付けは、dockerhub で利用できます。私は最近これをいじって、このスレッドに飛び乗って、私の調査結果を共有したいと思いました (大丈夫だといいのですが!)

そのため、dockerhub に自動ビルド リンクを含むパブリック GitHub リポジトリがあります。ブランチ:latestにプッシュするたびにタグを更新したい。masterまた、 GitHub で作成するすべてのリリース:Xに対して:X.Y:X.Y.Zタグを作成する必要があります (GitHub でタグ付けさvX.Y.Zれます)。

これをサポートするためのビルド設定構成は次のようになります。 dockerhub ビルド設定

また、テキストなので、コピーして貼り付けるのが簡単です。

| Type   | Name                              | Dockerfile Location | Docker Tag Name |
|--------|-----------------------------------|---------------------|-----------------|
| Branch | master                            | /                   | latest          |
| Tag    | /^v([0-9]+)\.([0-9]+)\.([0-9]+)$/ | /                   | {\1}            |
| Tag    | /^v([0-9]+)\.([0-9]+)\.([0-9]+)$/ | /                   | {\1}.{\2}       |
| Tag    | /^v([0-9]+)\.([0-9]+)\.([0-9]+)$/ | /                   | {\1}.{\2}.{\3}  |

お役に立てれば!

于 2017-06-28T08:03:11.230 に答える
17

これは2ステップで非常に簡単です...

ステップ 1 - 自動ビルドのリンクをクリックします

自動ビルド リンク

ステップ 2 - 複数の自動ビルドを同じ docker リポジトリに追加します (ほとんどの人は、複数の自動ビルドを追加できることを知りません)、BLUE PLUS ボタンをクリックします (下の画像を参照)。

複数の自動ビルドの追加

上の画像の例では、私は...

  • github マスター ブランチにマップする「最新」の docker タグを追加する
  • github 0.1.0 タグにマップする "0.1.0" docker タグを追加する

github タグが存在する必要があることに注意してください。

保存をクリックしてビルドをトリガーすると、最新のタグ用と 0.1.0 タグ用の 2 つのビルドが開始されます。

方法がわかれば簡単です:)これは十分に文書化されていないため、ここで完全な回答を提供したいと思います。

于 2015-07-21T11:55:41.417 に答える
4

数か月前、バージョン番号を明示的に提供することについて docker サポートに問い合わせましたが、その時点ではサポートされていませんでした。

docker ハブで指定するのは、監視される git タグ/ブランチです。ビルドの結果は常にタグ付けされlatestます。

于 2014-08-15T16:50:21.217 に答える
4

Usman は、 https://stackoverflow.com/a/26107743/155689の同様の質問に対する回避策で回答しました。

基本的

  • 自動ビルド設定に入り、
  • タグを使用して別のビルド タイプを追加する
  • gitタグ名を入力してください
  • バージョン名を付けます
  • 保存をクリックしてビルドをトリガーする

ご覧のとおり、この自動ビルドでこれを行いました

于 2015-03-10T17:58:47.203 に答える
3

タグ「最新」を最新のビルドに割り当てる私の解決策は、自動ビルドで次の構成を使用することです。

| Type   | Name   | Dockerfile Location | Tag Name |
| Branch | master |        /            | latest   |

マスターにコミットがあるたびに、「latest」タグが付いた新しいビルドが作成されます。

数日前に、自動ビルドがブランチ名をタグ名として使用するという問題が発生したため、「マスター」を含むビルドがいくつか見つかった可能性があります。これは修正されました: https://forums.docker.com/t/automated-builds-not-tagging-latest/683

于 2015-01-26T14:25:20.477 に答える
2

私はまだこの機能を使用していないので間違っている可能性がありますが、今日、build settingsタブに移動して 2 番目のタイプのビルドを選択すると、すべてのタグを選択するtag正規表現が自動的に表示されました。/.*/

テストしたらすぐにこれを更新します。

于 2016-03-10T22:11:57.043 に答える