2.0 ver update starter #163
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Docker CI | |
# 이 워크플로우는 'main' 브랜치와 'feature/cicd' 브랜치에 푸시되거나 | |
# 풀 리퀘스트가 열리거나 재개되거나 동기화될 때 실행됩니다. | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
types: [ opened, reopened, synchronize ] | |
jobs: | |
build-and-push: | |
if: ${{ !contains(github.event.head_commit.message, '#ci-skip') }} || ${{ !contains(github.event.head_commit.message, '#ci_skip') }} | |
runs-on: ubuntu-latest # 워크플로우는 최신 Ubuntu 환경에서 실행됩니다. | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 # 최신 코드를 체크아웃합니다. | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Build with Gradle | |
run: ./gradlew build # jar 파일을 빌드하고 테스트를 실행합니다. | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 # Docker Buildx를 설정합니다. | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 # Docker Hub에 로그인합니다. | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} # Docker Hub 사용자 이름 | |
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} # Docker Hub 액세스 토큰 | |
- name: Build and push | |
if: success() && github.ref == 'refs/heads/main' # 'main' 브랜치에만 적용하고, 테스트가 성공한 경우에만 실행 | |
uses: docker/build-push-action@v5 # Docker 이미지를 빌드하고 푸시합니다. | |
with: | |
context: . | |
file: ./Dockerfile | |
push: true | |
tags: deadwhale/petlink:latest # 'latest' 태그로 이미지를 푸시 | |
- name: Trigger CD Workflow | |
if: success() && github.ref == 'refs/heads/main' | |
uses: benc-uk/workflow-dispatch@v1 | |
with: | |
workflow: "Docker CD" | |
token: ${{ secrets.ACTION_TOKEN }} | |
ref: "main" |