GitHub Actions を使用して Docker イメージを構築する方法

GitHub Actions を使用して Docker イメージを構築する方法

この記事では、Docker イメージをビルドしてタグ付けし、Docker Hub レジストリにプッシュするワークフローを GitHub Actions を使用して設定する方法について説明します。

GitHub リポジトリを作成する

まず、イメージをビルドするためのコード (この場合は、実際には Dockerfile のみ) を保持する新しい GitHub リポジトリを作成しましょう。 GitHub でリポジトリを作成し、任意の名前を付けます。リポジトリのルートに Dockerfile というファイルを追加します。手順に従っていただくと、Angular CLI を含むイメージが構築されます。別の画像が必要な場合は、ニーズに合わせて以下を変更します。 Dockerfile の内容は次のようになります。

 # ./Dockerfile FROM node:12-alpine as node-angular-cli LABEL authors="Tinywan" # Linux setup # I got this from another, deprecated Angular CLI image. # I trust that developer, so I continued to use this, but you # can leave it out if you want. RUN apk update \ && apk add --update alpine-sdk \ && apk del alpine-sdk \ && rm -rf /tmp/* /var/cache/apk/* *.tar.gz ~/.npm \ && npm cache verify \ && sed -i -e "s/bin\/ash/bin\/sh/" /etc/passwd # Angular CLI RUN npm install -g @angular/cli@8

GitHub アクションの作成

GitHub Actions を使い始めるには、GitHub のリポジトリ ページで [Actions] タブをクリックします。

写真

次のようなページが表示されます。

写真

この手順により、Docker Hub レジストリにログインします。パスワードを出力し、それを docker login コマンドに渡します。しかし、ここには何か新しいものがあり、それが私たちが使用している秘密です。 GitHub には、各リポジトリの設定に、GitHub Actions などで使用するシークレットを設定できるセクションがあります。

これは素晴らしいことです。そうでなければ、パスワードやアクセス キーをリポジトリに保存して誰でも見られるようにしなければ、Docker Hub などのサードパーティ サービスにログインする方法がないからです。シークレットを見つけるには、リポジトリの上部にある [設定] をクリックし、左側のナビゲーション リストで [シークレット] をクリックして、必要なシークレット (この場合は Docker Hub のユーザー名とパスワード) を追加します。

写真

タグとリリース

最後のステップは、GitHub リポジトリでリリースにタグを付けることです。これにより、ワークフローのビルドが開始されます。これを行うには、[コード] タブの [リリース] セクションをクリックします。

写真

「新しいリリースを下書きする」ボタンをクリックします。 GitHub ではリリースを作成する手順が案内されますが、タグ名と希望するリリース コミットを選択する必要があります。タイトルと説明を追加することもできます。 2 つの点に注意してください。ここで使用するタグ名は Docker イメージのタグ名として使用され、[バージョンの公開] ボタンをクリックするとワークフローが開始されます。準備ができたら、新しいバージョンを公開してください。

ワークフロー出力の表示

ワークフローで何が起こっているかを確認し、必要に応じてデバッグするには、リポジトリの [アクション] タブに戻ります。アクションを作成すると、ページは次のようになります。

写真

[アクション] タブでワークフローを出力するだけでなく、Docker Hub に移動してそこでイメージを表示することも忘れないでください。

写真

<<:  AlibabaのオープンソースK8s環境のローカルテストおよびデバッグツールを使用すると、効率が非常に高くなります。

>>:  Kubernetes を一緒に学ぶ: ワークロードのハイライト

推薦する

WeChatミニプログラムを宣伝して顧客を獲得するには?まずこの2つを知っておく必要があります

月収10万元の起業の夢を実現するミニプログラム起業支援プラン少し前に、Youzan、Xinbang、...

いくつかの電子商取引モデルの背後にあるビジネスロジックの簡単な分析

文/徐偉、iTianxia.com編集長、Tianxia.comマネージャー編集長部外者であり観察者...

北朝鮮のサイバー攻撃事件

2014年11月24日、ハッカー集団「Guardians of Peace」がソニー・ピクチャーズの...

この記事を読んだ後、JVMクラスローディングの仕組みが分からないなんて言わないでくださいね〜

[[405748]] JVM は親委任モデルを通じてクラスをロードします。つまり、クラス ローダーは...

Google Cloud Platform、アプリストアへの圧力が高まる中、手数料率を引き下げ

海外メディアの報道によると、アプリストアに対する圧力が高まり、大手テクノロジー企業に対してもグーグル...

エッジコンピューティング時代の到来は AI にどのような影響を与えるのでしょうか?

[[270736]]近年、テクノロジー界では人工知能が注目されている分野となっている。中国では近年、...

#ニュース# Vultr: 月額 3.5 ドル、512 個の RAM/KVM/15 個のオプション データ センター、Alipay の新オファー

Vultr からの最新ニュース: オリジナルの 512M メモリ VPS が IPv4 をキャンセル...

検索マーケティングにおける顧客重視

今日、上海のSEOコンサルタントである顧慧明が顧客を訪問しました。顧客とのコミュニケーションの中で、...

ブランドマーケティング:ブランド成功への第一歩!

ショーペンハウアーは、人間の本質における最も特別な弱点の一つは、他人が自分をどう見ているかを気にする...

クラウド コンピューティングは製造業をどのように促進するのでしょうか?

クラウドコンピューティングが製造業にどのような力を与えるかを学ぶクラウド コンピューティングは世界中...

「崩壊への道」はWeiboで人気検索

「微博のトレンド検索は崩壊の道をたどっている。以前は真面目なことを話していたが、後になってすべて芸能...

tuancloudはどうですか?わずか 99 元/年で 1Gbps の帯域幅を備えた香港 VPS のレビュー (ストリーミング メディアのロックを解除)

国内新設業者であるTuancloudは、主に「香港-PCCWモバイル最適化」、「東京-三網最適化」、...

有道の躍進:検索事業は期待通りの成果をあげられず

百度を倒すことは、検索技術を学ぶほとんどのIT担当者の夢でしょう。周鋒氏も例外ではありません。少なく...

「体重が給料に影響する理論」から考える良質なコンテンツのレイアウト

「コンテンツは王、外部リンクは皇帝」ということわざにあるように、高品質のコンテンツと外部リンクがあれ...

Yu'ebao 1周年レビュー: Yu'ebao は今年何を革新したのか?

原題: 今年、Yu’ebao は何を覆したのか?今は誰もが財務管理を行える時代であり、初のインターネ...