Github Action 각 Step별 name 수정 #4
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: Backend CD | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- backend/** | |
- .github/** | |
jobs: | |
deploy: | |
name: Backend(SpringBoot) Deploy | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./backend | |
steps: | |
- name: Repository를 가져온다 | |
uses: actions/checkout@v3 | |
- name: JDK 17을 설치한다 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: 17 | |
- name: Timezone을 Asia/Seoul로 설정한다 | |
uses: zcong1993/setup-timezone@master | |
with: | |
timezone: Asia/Seoul | |
- name: Github Action Secrets에 등록된 정보들을 가져온다 | |
env: | |
EXTERNAL_CONFIG: ${{ secrets.BE_EXTERNAL_CONFIG }} | |
LOCAL_DATASOURCE: ${{ secrets.BE_LOCAL_DATASOURCE }} | |
PROD_DATASOURCE: ${{ secrets.BE_PROD_DATASOURCE }} | |
run: mkdir -p ./backend/src/main/resources/security && | |
echo $EXTERNAL_CONFIG | base64 --decode > ./backend/src/main/resources/security/application-external.yml && | |
echo $LOCAL_DATASOURCE | base64 --decode > ./backend/src/main/resources/security/application-local-datasource.yml && | |
echo $PROD_DATASOURCE | base64 --decode > ./backend/src/main/resources/security/application-prod-datasource.yml | |
- name: 테스트시 필요한 Local Redis에 대한 Action을 가져온다 | |
uses: supercharge/redis-github-action@1.2.0 | |
with: | |
redis-version: 6 | |
- name: Redis Client를 설치한다 | |
run: sudo apt-get install -y redis-tools | |
- name: Redis Ping 테스트를 진행한다 | |
run: redis-cli ping | |
- name: Gradle 명령 실행을 위한 권한을 부여한다 | |
run: chmod +x gradlew | |
- name: Gradle build를 수행한다 | |
run: ./gradlew bootJar | |
- name: NCP Server로 빌드 파일을 전송한다 | |
uses: appleboy/scp-action@master | |
with: | |
username: ${{ secrets.BE_SSH_USERNAME }} | |
password: ${{ secrets.BE_SSH_PASSWORD }} | |
host: ${{ secrets.BE_SSH_HOST }} | |
port: ${{ secrets.BE_SSH_PORT }} | |
source: "./backend/build/libs/AnotherArt.jar, ./backend/script/deploy.sh" | |
target: "/app" | |
- name: NCP Server에 SSH 접속 후 deploy.sh을 실행시킨다 | |
uses: appleboy/ssh-action@master | |
with: | |
username: ${{ secrets.BE_SSH_USERNAME }} | |
password: ${{ secrets.BE_SSH_PASSWORD }} | |
host: ${{ secrets.BE_SSH_HOST }} | |
port: ${{ secrets.BE_SSH_PORT }} | |
script: | | |
cd /app/script | |
sudo chmod +x deploy.sh | |
sudo ./deploy.sh |