Skip to content

Commit

Permalink
Merge pull request #312 from ASAP-as-soon-as-possible/feat/#311
Browse files Browse the repository at this point in the history
#311 [feat] 개발 서버 cd 갱신
  • Loading branch information
KWY0218 authored Aug 14, 2024
2 parents aaa2f90 + 293cb96 commit ead92ac
Showing 1 changed file with 52 additions and 82 deletions.
134 changes: 52 additions & 82 deletions .github/workflows/dev-cd.yml
Original file line number Diff line number Diff line change
@@ -1,96 +1,66 @@
# 워크플로우의 이름 지정
name: ASAP-DEV-CD

# 해당 workflow가 언제 실행될 것인지에 대한 트리거를 지정
on:
push:
branches: [ "develop" ] # main branch로 push 될 때 실행됩니다.

env:
S3_BUCKET_NAME: asap-develop-bucket
branches: [ "develop" ]

jobs:
build:
name: Code deployment

# 실행 환경
runs-on: ubuntu-latest

steps:

# 1) 워크플로우 실행 전 기본적으로 체크아웃 필요
- name: checkout
uses: actions/checkout@v3

# 2) JDK 11버전 설치, 다른 JDK 버전을 사용하다면 수정
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

# 3) 환경변수 파일 생성
- name: make application.properties 파일 생성
run: |
## create application.yml
cd ./src/main/resources
- name: checkout
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: make application.yml 파일 생성
run: |
## create application.yml
cd ./src/main/resources
# application.yml 파일 생성
touch ./application.yml
# GitHub-Actions 에서 설정한 값을 application.yml 파일에 쓰기
echo "${{ secrets.DOCKER_DEV_YAML }}" >> ./application.yml
# application.yml 파일 확인
cat ./application.yml
shell: bash

- name: Build with Gradle
run: |
chmod +x gradlew
./gradlew build -x test
- name: docker build 가능하도록 환경 설정
uses: docker/[email protected]

- name: docker hub에로그인
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKERHUB_LOGIN_USERNAME }}
password: ${{ secrets.DOCKERHUB_LOGIN_ACCESSTOKEN }}

# application.yml 파일 생성
touch ./application.yml
- name: docker image 빌드 및 푸시
run: |
docker build --platform linux/amd64 -t ${{ secrets.DOCKERHUB_LOGIN_USERNAME }}/${{ secrets.DOCKERHUB_IMAGE_NAME }} .
docker tag ${{ secrets.DOCKERHUB_LOGIN_USERNAME }}/${{ secrets.DOCKERHUB_IMAGE_NAME }} ${{ secrets.DOCKERHUB_LOGIN_USERNAME }}/${{ secrets.DOCKERHUB_IMAGE_NAME }}:${{ secrets.DOCKERHUB_DEV_IMAGE_NAME }}
docker push ${{ secrets.DOCKERHUB_LOGIN_USERNAME }}/${{ secrets.DOCKERHUB_IMAGE_NAME }}:${{ secrets.DOCKERHUB_DEV_IMAGE_NAME }}
# GitHub-Actions 에서 설정한 값을 application.yml 파일에 쓰기
echo "${{ secrets.DEV_APPLICATION_YAML }}" >> ./application.yml
# application.yml 파일 확인
cat ./application.yml
shell: bash

# 이 워크플로우는 gradle build
- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle # 실제 application build 테스트 제외
run: ./gradlew build -x test

# # 디렉토리 생성
# - name: Make Directory
# run: mkdir -p deploy
#
# # Jar 파일 복사
# - name: Copy Jar
# run: cp ./build/libs/*.jar ./deploy
#
# # appspec.yml 파일 복사
# - name: Copy appspec.yml
# run: cp appspec.yml ./deploy
#
# # script files 복사
# - name: Copy script
# run: cp ./scripts/*.sh ./deploy
#
# - name: Make zip file
# run: zip -r ./asap_dev_server.zip ./deploy
# shell: bash
#
# - name: Configure AWS credentials
# uses: aws-actions/configure-aws-credentials@v1
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
# aws-region: ap-northeast-2
#
# - name: Upload to S3
# run: aws s3 cp --region ap-northeast-2 ./asap_dev_server.zip s3://$S3_BUCKET_NAME/

# # Deploy
# - name: Deploy
# env:
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
# run:
# aws deploy create-deployment
# --application-name asap-dev-codedeploy
# --deployment-group-name asap-dev-codedeploy-group
# --file-exists-behavior OVERWRITE
# --s3-location bucket=asap-develop-bucket,bundleType=zip,key=asap_dev_server.zip
# --region ap-northeast-2
- name: 도커 컨테이너 실행
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DEV_SERVER_IP }}
username: ${{ secrets.DEV_SERVER_USER }}
key: ${{ secrets.DEV_SERVER_KEY }}
script: |
cd ~
sudo ./deploy.sh

0 comments on commit ead92ac

Please sign in to comment.