Heim >Backend-Entwicklung >Golang >Mastering Docker Image Management mit Github -Aktionen und Containerregistern
Mastering Docker Image Management mit GitHub -Aktionen: Ein umfassendes Leitfaden
Freunde und Kollegen fragen oft: "Wie verwalten Sie Ihre Bereitstellungen so effizient?" Mein Geheimnis? Automatisierung der sich wiederholenden Aufgaben und konzentriert sich auf das, was wirklich wichtig ist. In diesem Beitrag wird beschrieben, wie ich GitHub -Aktionen und Containerregister für die nahtlose Docker -Image -Verwaltung verwende - ein Prozess, den Sie leicht replizieren können.
In der heutigen Softwareentwicklungslandschaft ist CI/CD kein Luxus. Es ist eine Notwendigkeit. Stellen Sie sich vor, Code einzusetzen Code mühelos, während Sie einen Kaffee genießen - das ist die Fähigkeit, Github -Aktionen und Containerregister für Docker Image Management zu kombinieren.
GitHub -Aktionen sind mehr als nur ein Automatisierungswerkzeug. Es ist Ihre integrierte CI/CD -Lösung, die auf Code -Pushes, Zuganfragen oder geplante Ereignisse reagiert. Die nahtlose Github -Integration macht es ideal für Teams, die bereits die Plattform verwenden.
Denken Sie an Containerregister wie Docker Hub oder GitHub Container Registry (GHCR) als sichere Repositories für Ihre Docker -Bilder. Sie bieten die Versionskontrolle und eine konsistente Bereitstellung in allen Umgebungen, von der Entwicklung bis zur Produktion.
Erstellen Sie ein .github/workflows
Verzeichnis in Ihrem Repository und definieren Sie eine YAML -Workflow -Datei. Dieses Beispiel erstellt, Tags und drückt Docker -Bilder:
<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>
sensible Informationen (Registrierungsanmeldeinformationen) sicher in Github -Geheimnissen speichern. Gehen Sie zu den -Inneneinstellungen Ihres Repositorys & gt; Geheimnisse und Variablen & gt; Aktionen und Hinzufügen von Geheimnissen wie:
DOCKER_USERNAME
DOCKER_PASSWORD
Für GHCR wird das GITHUB_TOKEN
Geheimnis automatisch bereitgestellt und in Ihr Repository gescopt.
Verwenden Sie GitHub -Umgebungsvariablen wie GITHUB_SHA
und GITHUB_REF
für eine effektive Versionierung:
<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>
Nutzen Sie den Build -Cache von Docker, um redundante Arbeiten zu vermeiden:
<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
die richtigen Berechtigungen hat. ACTIONS_STEP_DEBUG=true
In Repository -Geheimnissen für detaillierte Protokollierung. Ich verwende GitHub -Aktionen, um Docker -Bilder für mein Projekt Travast (ein mit GO erstellter Jobportal) für GHCR und Docker Hub bereitzustellen. Diese Automatisierung verbesserte die Effizienz unseres Teams erheblich.
Wenn Sie diese Schritte befolgen, können Sie Ihre Docker -Image -Verwaltung automatisieren. Starten Sie noch heute, optimieren Sie Ihre Bereitstellungen und steigern Sie Ihre Produktivität. Erwägen Sie, meine Arbeit an Ko-Fi zu unterstützen, wenn Sie dies hilfreich fanden.
Das obige ist der detaillierte Inhalt vonMastering Docker Image Management mit Github -Aktionen und Containerregistern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!