Merge pull request #75 from modu-menu/develop #19
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: 모두의 회식 CD(ver.prod) | |
# 동적 변수 설정 | |
env: | |
DOCKER_HUB_REPOSITORY: eelseungmin/modu-menu-deploy | |
DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }} | |
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
jobs: | |
docker-build-and-push: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: repository에서 코드를 가져온다. | |
uses: actions/checkout@v4 | |
- name: OpenJDK 17을 세팅한다. | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Gradle 명령 실행을 위한 권한을 부여한다. | |
run: chmod +x ./gradlew | |
- name: 실행 가능한 jar 파일을 빌드한다. | |
run: ./gradlew bootJar | |
- name: Docker Hub에 로그인한다. | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ env.DOCKER_HUB_USERNAME }} | |
password: ${{ env.DOCKER_HUB_PASSWORD }} | |
- name: Docker Image 빌드 후 Docker Hub에 push한다. | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./DockerFile-prod | |
push: true | |
platforms: linux/amd64 | |
tags: ${{ env.DOCKER_HUB_REPOSITORY }}:latest | |
docker-pull-and-run: | |
runs-on: [self-hosted, modu] | |
if: ${{ needs.docker-build-and-push.result == 'success' }} | |
needs: [ docker-build-and-push ] | |
steps: | |
- name: 배포 스크립트를 실행한다. | |
run: sh /home/ubuntu/deploy.sh |