Skip to content

ci: docker镜像构建 #4

ci: docker镜像构建

ci: docker镜像构建 #4

Workflow file for this run

name: Docker
on:
push:
branches:
- main
env:
APP_NAME: ${{ github.event.repository.name }}
NAMESPACE: app
REGISTRY: ${{ secrets.DOCKER_REGISTRY && secrets.DOCKER_REGISTRY || 'docker.io' }}
REPOSITORY: ${{ github.repository }}
jobs:
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22'
- name: Lint
uses: golangci/golangci-lint-action@v6
- name: Tests
run: |
go test $(go list ./...)
- name: Build binary file
run: |
CGO_ENABLE=0 GOOS=linux GOARCH=amd64 go build -o ${{ env.APP_NAME }} ./cmd/app
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Set outputs
id: vars
run: |
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Docker build and push
uses: docker/build-push-action@v5
with:
push: true
file: Dockerfile
tags: ${{ env.REPOSITORY }}:${{ steps.vars.outputs.sha_short }}
context: .