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 を一緒に学ぶ: ワークロードのハイライト

推薦する

草の根電子商取引のアップグレードパス: ブランドは価値を創造し、平均顧客単価から脱却する

非常に知能の高い人々の集団がなぜそのような困難なことをしなければならないのでしょうか?顧客平均支出を...

元航自動車学校の SEO 千夜一夜物語 · 2012 年 12 月 4 日

冒頭の言葉本日より、私(ID:yuanhangjx、ニックネーム:袁航自動車学校SEO)は、自分の仕...

Zan Hui Zac: SEOは特定の問題に対しても分析する必要がある

数日前、ある会員がDianshiフォーラムで質問しました。私が書いたサブドメインとセカンダリディレク...

データコラボレーションは SaaS の未来でしょうか、それとも単なる仕掛けでしょうか?

[[228970]] SaaS は今日すでに多くの巨人を生み出しています。 SaaS 企業の将来はど...

成熟した SEO への道のりにおいて、SEO 担当者はどのように思考を広げるべきでしょうか?

昨年、SEOに携わる人なら誰でも、ウェブサイトのランキングを上げるために、コンテンツ、品質、関連性に...

Tragicservers の新しい Quadranet ロサンゼルス データ センター KVM 仮想 VPS の簡単な評価

tragicservers.com 2017 年、私たちはこのばかげた名前をからかってばかりいました...

pqhosting: 10Gbps 帯域幅、月額 4.77 ユーロ、1G RAM/1 コア/25g NVMe を備えた定額オランダ VPS

pq.hosting はオランダの VPS をアップグレードしました。サーバーは Tier III ...

デジタル変革のケーススタディ: ユニパーの CIO は会社のスピンオフの機会を捉えてクラウドに移行しました

電力会社E.ONがガス事業を新会社として分社化したとき、ユニパーの最高情報責任者は近代化の取り組みを...

女性消費者から女性向け電子商取引サイトへの20の参照

女性はお金が儲かりやすい、女性は衝動買いをする、女性向け商品は利益率が高いなどと言われています。しか...

この記事では、ビデオ SEO マーケティングの実施方法について説明します。

SEOビデオ マーケティングは、潜在的な視聴者が誰であるかを把握することから始まります。テキスト、音...

検索エンジンがオリジナルコンテンツをクロールする方法の例

検索エンジンはオリジナルのコンテンツを好み、Yahoo と Google はウェブマスター向けに明確...

Hostdare: ロサンゼルス CN2 GIA VPS + CN2 GT VPS の最新 15% オフ プロモーション

Hostdare から 8 月の最新プロモーション情報を受け取りました。Cera コンピュータ ルー...

servarica: 年間 12 ドル、カナダの VPS、ネイティブ IP、1G メモリ/1 コア/500g ハード ドライブ/2T トラフィック

Servarica は、500G ハード ドライブで年間 12 ドルという低価格の高構成のカナダ V...

不動産ウェブサイト構築初心者ウェブマスターの3か月の経験

私の不動産ウェブサイト「登封不動産ネットワーク」のドメイン名は8月27日に登録されました。今日は11...

工業情報化部の董小平氏:世界のコンピューティング技術は繁栄しており、百の学派が競い合っている。

[[395519]] 4月22日、工業情報化部電子情報部の董小平副部長は、多様性コンピューティング産...