Menguasai Pengurusan Imej Docker dengan Tindakan GitHub: Panduan Komprehensif
rakan -rakan dan rakan sekerja sering bertanya, "Bagaimana anda menguruskan penyebaran anda dengan cekap?" Rahsia saya? Menggalakkan tugas berulang dan memberi tumpuan kepada apa yang benar -benar penting. Pos ini memperincikan bagaimana saya menggunakan tindakan GitHub dan pendaftaran kontena untuk Pengurusan Imej Docker Lancar - proses yang anda boleh meniru dengan mudah.
Dalam landskap pembangunan perisian hari ini, CI/CD bukanlah kemewahan; itu satu keperluan. Bayangkan menggunakan kod dengan mudah sambil menikmati kopi - itulah kuasa menggabungkan tindakan github dan pendaftaran kontena untuk pengurusan imej Docker.
pendaftaran kontena: Repositori imej anda
Cabaran Pengurusan Imej Docker biasa
Buat direktori di repositori anda dan tentukan fail aliran kerja YAML. Contoh ini membina, tag, dan menolak imej Docker:
.github/workflows
Langkah 2: Menguruskan Rahsia dengan selamat
<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>
DOCKER_USERNAME
DOCKER_PASSWORD
GITHUB_TOKEN
Langkah 3: Melaksanakan strategi penandaan yang mantap
untuk versi yang berkesan: GITHUB_SHA
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>
Menangani cabaran biasa
<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>
GITHUB_TOKEN
Mengehadkan kadar: ACTIONS_STEP_DEBUG=true
meneroka trend masa depan bacaan selanjutnya
Atas ialah kandungan terperinci Menguasai Pengurusan Imej Docker dengan Tindakan Github dan Pendaftaran Kontena. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!