Minimaler Workflow zum Verschieben des Docker-Images in die Github-Container-Registrierung mit Github-Aktionen

Offiziell gibt es einen Workflow als Starter-Workflows vom Erstellen eines Docker-Images bis zum Verschieben in die Github-Container-Registrierung. Da ich es jedoch ohne Aktionen schlammig mache, werde ich die Workflow-Konfiguration mithilfe von Aktionen in diesem Artikel erläutern. Ich werde es beschreiben.

Annahme

Für die diesmal behandelte Dateistruktur des Repositorys wird angenommen, dass die Docker-Datei direkt unter dem Stammverzeichnis vorhanden ist.

-- 
|-- Dockerfile
|-- README.md
|-- .github
    |-- workflows
        |-- actions.yml
...

Lösung

yml:.github/workflows/action.yml


name: Build and Publish Docker

on:
  push:
    branches:
      - master

jobs:
  build_and_push:
    runs-on: ubuntu-latest
    env:
      IMAGE_NAME: sample-app
    steps:
      - name: checkout
        uses: actions/checkout@v2

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Login to GitHub Container Registry
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.CR_PAT }}

      - name: Build and push
        uses: docker/build-push-action@v2
        with:
          context: .
          push: true
          tags: |
            ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:latest
            ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:1.0.0

Erklärung des Workflows

Dieser Workflow definiert einen Job namens "build_and_push". Von nun an werde ich kurz erklären, was jeder Schritt im Job tut.

checkout Überprüfen Sie den Quellcode. Wir verwenden die Aktion "action / checkout @ v2".

Set up Docker Buildx Die Aktion "Docker / Build-Push-Aktion @ v2" führt hier das erforderliche Setup für "Docker-Build" durch. Wir verwenden die Aktion "docker / setup-buildx-action @ v1".

Login to GitHub Container Registry Führen Sie hier ein Docker-Login durch, um das Docker-Image in die GitHub-Container-Registrierung zu verschieben. Verwenden Sie die Aktion "Docker / Login-Aktion @ v1". Definieren Sie die gewünschten Parameter mit with.

Parameter Wert
registry Geben Sie die Docker-Registrierung an
Dieses Mal werde ich auf Github Container Registry pushenghcr.ioAngeben
Wenn nicht angegeben, handelt es sich um Docker Hub
username Geben Sie den Benutzer an, der in die Docker-Registrierung übertragen werden soll
Geben Sie diesmal den Namen des Repository-Eigentümers in der Umgebungsvariablen * 1 an
password Geben Sie das Kennwort oder das persönliche Zugriffstoken an, das an die Docker-Registrierung gesendet werden soll
Diesmal CF in Geheimnissen_Geben Sie das Personal Access Token an, das unter dem Namen PAT * 2 gespeichert ist

Build and push Mach "Docker Build" und "Docker Push". Wir verwenden die Aktion "Docker / Build-Push-Aktion @ v2". Definieren Sie die gewünschten Parameter mit with.

Parameter Wert
context docker buildGeben Sie dabei den Pfad oder die URL an
actions/checkoutBei Verwendung der Aktion kann der Pfad angegeben werden
Geben Sie diesmal den Untergebenen der ausgecheckten Route an
Wenn nicht angegeben, handelt es sich um einen Git-Kontext
push Geben Sie true an, wenn Sie in die Docker-Registrierung wechseln
tags Geben Sie das Tag an, das an das zu erstellende Image angehängt werden soll
Es können mehrere Tags angegeben werden
Diesmal spätestens und 1.0.0 Tag hinzufügen
file Geben Sie den Dockerfile-Pfad an, auf den verwiesen werden soll
Wenn nicht angegeben./DockerfileWird
Dieser Parameter wird diesmal nicht verwendet, wird jedoch verwendet, wenn auf eine andere Docker-Datei als direkt unter dem Stammverweis verwiesen wird.

Referenz

Recommended Posts

Minimaler Workflow zum Verschieben des Docker-Images in die Github-Container-Registrierung mit Github-Aktionen
Schritte zum Verschieben eines Docker-Images in die GitHub Container Registry (ghcr.io)
Übertragen Sie ein Docker-Image von GitHub Actions in die GitHub Container Registry
Testen, erstellen und verschieben Sie Docker-Images mithilfe von GitHub-Aktionen in die GitHub-Container-Registrierung
[GCP] Bis Sie das lokale Docker-Image in die Container-Registrierung verschieben
Die Geschichte, wie ein Docker-Container mit GitHub-Aktionen in die GitHub-Paketregistrierung und den Docker-Hub verschoben wird
[Persönliche Notizen] So verschieben Sie ein Docker-Image in GitHub-Pakete
Erste Schritte mit der Git Hub Container Registry anstelle von Docker Hub
Veröffentlichen Sie das Docker-Image in der GitHub-Paketregistrierung
Migrieren Sie Dockerhub-Images in die Github Container Registry
Übertragen Sie das von Docker Hub verteilte Docker-Image in die Google Container-Registrierung und starten Sie die VM basierend auf diesem Image
Ich habe versucht, AdoptOpenJDK 11 (11.0.2) mit dem Docker-Image zu überprüfen
Einstellung zum Verlassen des Docker-Containers mit VScode
Aktualisieren Sie das Container-Image mit KUSANAGI Runs on Docker
Schieben Sie das Image mit Jib zum Docker-Hub
So pushen Sie mit Rails entwickelte Apps an Github
Ich möchte eine mit Rails 6 erstellte App an GitHub senden
Einführung in Linux Container / Docker (Teil 1)
Migrieren Sie das Docker-Image auf einen anderen Server
Einführung in Linux Container / Docker (Teil 2)
2. Erstellen Sie ein Docker-Image und registrieren Sie die Registrierung
Starten Sie Apache mit dem PHP-Apache-Image des Dockers neu
[Linux] Starten Sie den Apache-Container mit Docker
Aktualisieren Sie MySQL mit Docker von 5.7 auf 8.0
So starten Sie Camunda mit Docker
So starten Sie einen Docker-Container mit einem in einer Batchdatei bereitgestellten Volume
Erstellen Sie ein Container-Image für Kibanas arm64 und registrieren Sie es in der GitHub-Container-Registrierung. Starten Sie Elastic Stack mit Docker Compose auf Raspberry Pi 4 (64 Bit).