Skip to content

2.0 ver update starter #163

2.0 ver update starter

2.0 ver update starter #163

Workflow file for this run

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"