githubアクションを使用したドッカーイメージ管理のマスター:包括的なガイド
友人や同僚はしばしば「展開をどのように効率的に管理するの?」と尋ねます。 私の秘密?繰り返しのタスクを自動化し、本当に重要なことに焦点を合わせます。この投稿では、シームレスなDocker画像管理にGitHubアクションとコンテナレジストリを使用する方法を詳しく説明します。これは簡単に複製できるプロセスです。
今日のソフトウェア開発の状況では、CI/CDは贅沢ではありません。それは必要です。コーヒーを楽しんでいる間、コードを楽に展開することを想像してください。これは、GithubアクションとDocker Image Managementのコンテナレジストリを組み合わせる力です。なぜgithubアクションとコンテナレジストリが重要であるのか
githubアクション:CI/CDパートナー
Docker HubやGithub Container Registry(GHCR)などのコンテナレジストリをDocker画像の安全なリポジトリと考えてください。開発から生産まで、すべての環境にわたってバージョン制御と一貫した展開を提供します。
手動プロセス:
繰り返し手動タスクを楽しんでいる人はいません。ステップ2:秘密を安全に管理する
機密情報(レジストリの資格情報)をGitHubの秘密に安全に保存します。 リポジトリの設定>に移動します。秘密と変数>アクション.github/workflows
および次のような秘密を追加します
DOCKER_USERNAME
DOCKER_PASSWORD
GITHUB_TOKEN
効果的なバージョンの場合は、や
GITHUB_SHA
ステップ4:キャッシングでビルド速度を最適化GITHUB_REF
<code class="language-yaml">name: Build and Push Docker Image on: push: branches: - main jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v4 - name: Log in to GitHub Container Registry # Securely authenticate with GHCR run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin - name: Build Docker Image # Build with 'latest' tag run: docker build -t ghcr.io/${{ github.repository }}/app:latest . - name: Push Docker Image to GHCR run: docker push ghcr.io/${{ github.repository }}/app:latest</code>
<code class="language-yaml">- name: Build Docker Image with Tags # Tag with 'latest' and unique commit SHA run: | IMAGE_NAME=ghcr.io/${{ github.repository }}/app docker build -t $IMAGE_NAME:latest -t $IMAGE_NAME:${{ github.sha }} . - name: Push Docker Images with Tags run: | docker push ghcr.io/${{ github.repository }}/app:latest docker push ghcr.io/${{ github.repository }}/app:${{ github.sha }}</code>
認証の問題:
秘密とスコープを確認します。 GHCRの場合、GITHUB_TOKEN
ACTIONS_STEP_DEBUG=true
github container registry
syft -sbom生成
以上がGitHubアクションとコンテナレジストリを使用したDocker画像管理のマスターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。