[Golang] Erstellen Sie ein Docker-Image mit Github-Aktionen

Inhalt

Erstellen Sie ein Docker-Image der mit Golang erstellten App und verschieben Sie es in die Docker-Registrierung. Klicken Sie hier, um die Docker-Datei für die Golang-App aufzurufen (https://qiita.com/Yuuki557/items/3d088de91ab86bc71600).

Inhaltsverzeichnis

--Workflow-Datei --Erfassen des Inhalts

Workflow-Datei

ci.yaml


name: CI
on:
  push:
    tags:
      - "v*.*.*"

jobs:
  test:
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        go: ["1.15"]
    steps:
      - name: Check out source code
        uses: actions/checkout@v1
        
      - name: Set up Go v${{matrix.go}}
        uses: actions/setup-go@v2
        with:
          go-version: ${{matrix.go}}

      - name: Install dependent packages
        run: go mod download

      - name: Run all test
        run: go test -v ./...

  docker-build:
    needs: ["test"]
    runs-on: ubuntu-18.04
    env:
      DOCKER_IMAGE_NAME: docker-app
    steps:
      - name: Check out source code
        uses: actions/checkout@v1

      - name: Build and push docker image
        run: |
          TAG=$(echo $GITHUB_REF | grep -o "[0-9][\.].*")
          DOCKER_IMAGE=${{ secrets.DOCKER_REGISTRY }}/${DOCKER_IMAGE_NAME}:$TAG
          echo "Docker image: ${DOCKER_IMAGE}"
          docker login --username ${{ secrets.DOCKER_USERNAME }} --password ${{ secrets.DOCKER_PASSWORD }}
          docker build -t $DOCKER_IMAGE .
          docker push $DOCKER_IMAGE

Inhaltserfassung

Workflow Triggers-on.push.tags

Es wird durch einen Push in Form des Tags v1.0.0 ausgelöst. Neben Push gibt es viele Trigger.

Test --jobs.test

Die folgenden Inhalte werden der Reihe nach erstellt

  1. Überprüfen Sie den Quellcode
  2. Geben Sie die Version von Golang an (geben Sie diesmal 1.15 an).
  3. Installieren Sie abhängige Pakete gemäß * go modules * (go mod download)
  4. Führen Sie alle Tests im Arbeitsverzeichnis aus (gehen Sie zu test -v. / ...).

Image erstellen und --jobs.docker-build drücken

Die folgenden Inhalte werden der Reihe nach erstellt

  1. Erstellen eines Image-Tags aus git ref (z. B. v1.0.0-> 1.0.0)
  2. Erstellen Sie einen Docker-Bildnamen (Registername ist geheim, Bildname ist env, Tag-Name ist 1)
  3. Melden Sie sich beim Docker an (Benutzername und Passwort sind geheim)
  4. Docker-Build (Docker-Image-Name wurde in 2 erstellt)
  5. docker push

Recommended Posts

[Golang] Erstellen Sie ein Docker-Image mit Github-Aktionen
Schritte zum Erstellen eines Jobs, der ein Docker-Image abruft und mit Github-Aktionen testet
Pipenv mit GitHub-Aktionen getestet
Erstellen Sie Github-Seiten mit Lektor Part 1
Erstellen Sie ein Docker-Container-Image mit JRE8 / JDK8 unter Amazon Linux
Erstellen Sie mit PySimpleGUI einen Bildverarbeitungs-Viewer
Erstellen Sie mit Python + PIL ein Dummy-Image.
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
Erstellen Sie einen Webdienst mit Docker + Flask
Erstellen eines Hintergrundbilds mit Tupfen mit der Python-Bildbibliothek
Erstellen Sie eine Bildkompositions-App mit Flask + Pillow
Erstellen Sie mit Docker eine Umgebung aus Nginx + uWSGI + Python (Django)
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
Erstellen Sie in Docker eine Ebene für AWS Lambda Python
Erstellen verschiedener Photoshop-Videos mit Python + OpenCV ② Erstellen Sie Photoshop-Standbilder
[Linux] Erstellen Sie ein Selbstzertifikat mit Docker und Apache
Bildverarbeitung mit MyHDL
Belichten Sie Ihr Docker-Image
Bilderkennung mit Keras
Verwenden Sie Python mit Docker
Erstelle Spiele mit Pygame
Proxyserver mit Docker
Erstellen Sie einen Filter mit scipy
Bildverarbeitung mit Python
Bash mit Golang anrufen
Jupyter Docker Bildzusammenfassung
Bildverarbeitung mit PIL
Erstellen Sie mit Docker eine Umgebung für "Deep Learning von Grund auf neu"
Erstellen einer Umgebung, die automatisch mit Github-Aktionen erstellt wird (Android-Version)
Erstellen Sie mit VSCode & Docker Desktop eine einfache Python-Entwicklungsumgebung
Stellen Sie Go-Apps mit GitHub-Aktionen für Google App Engine bereit
Erstellen Sie eine GPU-Umgebung mit GCP und kaggle offiziellem Image (Docker)
Erstellen Sie eine GCE-Instanz aus einem GCR Docker-Image mithilfe von Terraform
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
[Mit Bilddiagramm] Nginx + Gunicorn + Flask konvertiert zu Docker [Teil 1]