Créez une image Docker de l'application créée avec Golang et transférez-la dans le registre Docker. Cliquez ici pour le Dockerfile de l'application Golang (https://qiita.com/Yuuki557/items/3d088de91ab86bc71600)
--Fichier de workflow
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
Il est déclenché par un push sous forme de tag v1.0.0. Il existe de nombreux déclencheurs en plus de push.
Le contenu suivant est fait dans l'ordre
Le contenu suivant est fait dans l'ordre
Recommended Posts