Google Auth 구현 로그인 성공 후 Query String으로 accessToken, refreshToken retu… #11
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
# 자바 프로젝트를 위한 Gradle을 사용한 지속적 배포(CD) 워크플로우 설정 | |
name: CD with Gradle | |
# main 브랜치로 push되거나 pull request가 발생했을 때 워크플로우를 실행 | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
# 워크플로우에서는 저장소 내용을 읽을 수 있는 권한만 설정 | |
permissions: | |
contents: read | |
# 워크플로우에서 실행될 작업들을 정의 | |
jobs: | |
build: | |
runs-on: ubuntu-latest # 작업을 실행할 환경으로 ubuntu 최신 버전을 사용 | |
steps: | |
# 실행주체: GitHub Actions > GitHub Infra | |
# 첫 번째 단계: 워크플로우를 트리거한 커밋에서 저장소 코드를 체크아웃 | |
- uses: actions/checkout@v3 | |
# 두 번째 단계: Java Development Kit(JDK) 버전 17을 설정 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: "adopt" | |
# 세 번째 단계: GitHub secrets에서 데이터를 가져와 application.properties 파일 생성 | |
# - name: Make application.properties | |
# run: | | |
# cd ./src/main/resources | |
# touch ./application.properties | |
# echo "${{ secrets.PROPERTIES }}" > ./application.properties | |
# shell: bash | |
# 네 번째 단계: Gradle을 사용해 프로젝트 빌드, 테스트는 제외 | |
- name: Build with Gradle | |
run: | | |
chmod +x ./gradlew | |
./gradlew clean build -x test | |
# 다섯 번째 단계: Docker 이미지를 빌드하고 Docker 저장소에 푸시 | |
- name: Docker build & push to docker repo | |
run: | | |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
docker build -f Dockerfile -t ${{ secrets.DOCKER_REPO }}/directors-dev . | |
docker push ${{ secrets.DOCKER_REPO }}/directors-dev | |
# 실행주체: GitHub Actions > GitHub Infra // End | |
# 여섯 번째 단계: SSH를 사용하여 서버에 배포 | |
- name: Deploy to server | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.HOST }} | |
username: ubuntu | |
key: ${{ secrets.KEY }} | |
envs: GITHUB_SHA | |
script: | | |
sudo docker rm -f $(docker ps -qa) | |
sudo docker pull ${{ secrets.DOCKER_REPO }}/directors-dev | |
docker-compose up -d | |
docker image prune -f |