mirror of
https://github.com/dalbodeule/sh0rt.kr-pdns.git
synced 2025-06-08 18:58:20 +00:00
43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
name: build
|
|
|
|
#event trigger : main 브랜치에 push 이벤트 발생시 jobs가 실행된다.
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
|
|
#권한 설정
|
|
permissions:
|
|
contents: read
|
|
|
|
#jobs 정의
|
|
jobs:
|
|
#build job - jdk 설정, gradle 설정, docker 배포
|
|
build:
|
|
#ubuntu 최신 버전
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
# JDK 17 설정
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v3
|
|
# build를 위해서 jdk를 설치해줘야 하기 때문에 첫 단계로 설정하다.
|
|
with:
|
|
java-version: '21'
|
|
distribution: 'oracle'
|
|
|
|
# Gradle 설정 - gradle이 제공하는 action으로 build하는데 도움을 준다.
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@v2
|
|
|
|
# gradlew 파일 권한 지정 - 기본적으로 gradlew에 대한 권한 설정이 되어있지 않기 때문에 권한 설정을 해준다.
|
|
- name: Grant execute permission for gradlew
|
|
run: chmod +x gradlew
|
|
|
|
# gradle bootBuildImage를 이용해 이미지를 만들고 원격 저장소에 Push
|
|
# env에 민감 정보(환경변수)를 추가한다.
|
|
- name: Build Image with Gradle and Push to DockerHub
|
|
run: ./gradlew bootBuildImage
|
|
env:
|
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} |