config: docker-push-cd.yml 작성 #3
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
# Workflow 이름은 구별이 가능할 정도로 자유롭게 적어주어도 된다. | ||
# 필수 옵션은 아니다. | ||
name: Java CI with Gradle | ||
# main 브랜치에 PR 이벤트가 발생하면 Workflow가 실행된다. | ||
# 브랜치 구분이 없으면 on: [pull_request]로 해주어도 된다. | ||
on: | ||
pull_request: | ||
branches: [ "master" ] | ||
# 테스트 결과 작성을 위해 쓰기권한 추가 | ||
permissions: write-all | ||
# 해당 Workflow의 Job 목록 | ||
jobs: | ||
# Job 이름으로, build 라는 이름으로 Job이 표시된다. | ||
build: | ||
# Runner가 실행되는 환경을 정의 | ||
runs-on: ubuntu-latest | ||
# build Job 내의 step 목록 | ||
steps: | ||
# uses 키워드를 통해 Action을 불러올 수 있다. | ||
# 해당 레포지토리로 check-out하여 레포지토리에 접근할 수 있는 Acion 불러오기 | ||
- uses: actions/checkout@v3 | ||
# 여기서 실행되는 커맨드에 대한 설명으로, Workflow에 표시된다. | ||
# jdk 세팅 | ||
- name: Set up JDK 21 | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: '21' | ||
distribution: '' | ||
# gradle 캐싱 | ||
- name: Gradle Caching | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
${{ runner.os }}-gradle- | ||
### CI | ||
#gradlew 권한 추가 | ||
- name: Grant Execute Permission For Gradlew | ||
run: chmod +x gradlew | ||
#test를 제외한 프로젝트 빌드 | ||
- name: Build With Gradle | ||
run: ./gradlew build -x test | ||
#test를 위한 mysql설정 | ||
- name: Start MySQL | ||
uses: samin/mysql-action@v1.3 | ||
with: | ||
host port: 3305 | ||
container port: 3305 | ||
mysql database: ${{MYSQL_DATABASE}} | ||
mysql user: ${{MYSQL_USER}} | ||
mysql password: ${{MYSQL_PASSWORD}} | ||