<Ct: github> [ 2023-05-12 ] Github Docker Automatic Deployment
Concept
- This scripts finally makes “latest, stable, rollback”
- Repository secrets need:
DOCER_USERNAME
,DOCKER_TOKEN
- only push to
main
branch will create stable tag - publish will make
rollback
tag - push to any branch will create
latests
tag - suitable for node package yet,
.github/workflow/deployment.yml
DOCKER_REPO environment must be edited.
name: AUTO DEPLOYMENT
on:
push:
branches: [ main ]
workflow_dispatch:
# NOTE : DOCKER_REPO 설정.
env:
DOCKER_REPO: organization_name/repository_name
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@master
- name: EXTRACT NPM VERSION
id: extract_version
uses: Saionaro/[email protected]
-
name: SETUP QEMUX
uses: docker/setup-qemu-action@v1
-
name: SET UP DOCKERX
uses: docker/setup-buildx-action@v1
-
name: LOGIN TO DOCKERHUB
uses: docker/login-action@v1
with:
username: $
password: $
-
name: Build Docker and Push to DOCEAN_API
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
file: ./Dockerfile
tags: |
"$DOCKER_REPO:latest"
"$DOCKER_REPO:v$"
-
name: MAKE RELEASE DATE
id: date
run: echo "release_time=$(TZ=Asia/Seoul date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
-
name: CREATE RELEASE
uses: actions/create-release@v1
env:
GITHUB_TOKEN: $
with:
tag_name: v$
release_name: Release v$ [$]
body: AUTO RELEASE MADE FROM workflows
draft: true