mirror of
https://github.com/jeessy2/ddns-go.git
synced 2025-10-20 15:33:46 +08:00
docker image
This commit is contained in:
44
.github/workflows/docker-image.yml
vendored
Normal file
44
.github/workflows/docker-image.yml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: docker hub release
|
||||
|
||||
# build master with multi-arch to docker hub
|
||||
|
||||
on:
|
||||
push:
|
||||
# Sequence of patterns matched against refs/tags
|
||||
tags:
|
||||
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
|
||||
|
||||
jobs:
|
||||
buildx-dockerhub:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DOCKER_REPO: jeessy/ddns-go
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
DOCKER_PLATFORMS: linux/amd64,linux/arm,linux/arm64
|
||||
DOCKER_REGISTRY: ""
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Set up Docker buildx
|
||||
id: buildx
|
||||
uses: crazy-max/ghaction-docker-buildx@v3
|
||||
- name: Prepare arguments
|
||||
id: prepare
|
||||
run: |
|
||||
DOCKER_TAGS="--tag ${DOCKER_REPO}:edge"
|
||||
if [[ $GITHUB_REF == refs/tags/v* ]]; then
|
||||
DOCKER_TAGS="--tag ${DOCKER_REPO}:latest --tag ${DOCKER_REPO}:${GITHUB_REF#refs/tags/}"
|
||||
fi
|
||||
echo ::set-output name=buildx_args:: --output "type=image,push=true" --platform ${DOCKER_PLATFORMS} ${DOCKER_TAGS} .
|
||||
- name: Docker login
|
||||
run: |
|
||||
echo "${DOCKER_PASSWORD}" | docker login "${DOCKER_REGISTRY}" \
|
||||
--username "${DOCKER_USERNAME}" \
|
||||
--password-stdin
|
||||
- name: Run buildx and push
|
||||
if: success()
|
||||
run: docker buildx build ${{ steps.prepare.outputs.buildx_args }}
|
||||
- name: Docker Hub logout
|
||||
if: always()
|
||||
run: docker logout
|
Reference in New Issue
Block a user