-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: cicd 테스트 * fix: Add known hosts 단계 추가 * fix: 디렉토리명 수정 * feat: gradle 캐싱 단계 추가 * fix: deploy.sh 파일 권한 설정 단계 추가 * fix: deploy.sh 파일 권한 설정 수정 * feat: submodule 관련 설정 추가 * feat: 디버깅용 단계 추가 * feat: main브랜치에 push시 작동하도록 수정 * feat: slack 알림 기능 추가 * fix: PR TEST파일 에러 처리 * fix: PR TEST파일 경로 설정 수정
- Loading branch information
Showing
3 changed files
with
114 additions
and
83 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
name: Backend CI/CD | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out Repository | ||
uses: actions/checkout@v3 | ||
with: | ||
token: ${{ secrets.ACTION_TOKEN }} | ||
submodules: true | ||
|
||
- name: Display first three lines of application.yml (debug) | ||
run: head -n 3 src/main/resources/application.yml | ||
|
||
- name: Set up JDK11 | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '11' | ||
|
||
- name: Gradle 캐싱 | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
${{ runner.os }}-gradle- | ||
- name: Grant execute permission for gradlew | ||
run: chmod +x gradlew | ||
|
||
- name: Build with Gradle | ||
run: ./gradlew clean build | ||
|
||
- name: Upload artifact | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: cicdsample | ||
path: build/libs/*.jar | ||
|
||
- name: Slack notification when build fail | ||
if: failure() | ||
uses: 8398a7/action-slack@v3 | ||
with: | ||
status: ${{ job.status }} | ||
author_name: [CI/CD] 백엔드 빌드 실패 | ||
fields: repo, message, commit, author, action, eventName, ref, workflow, job, took | ||
env: | ||
SLACK_COLOR: '#FF2D00' | ||
SLACK_USERNAME: 'Github Action' | ||
SLACK_ICON: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_CICD }} | ||
|
||
deploy: | ||
needs: build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Download artifact | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: cicdsample | ||
|
||
- name: Setup SSH | ||
uses: webfactory/[email protected] | ||
with: | ||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | ||
|
||
- name: Add known hosts | ||
run: | | ||
ssh-keyscan -H ${{ secrets.SERVER_IP }} >> ~/.ssh/known_hosts | ||
chmod 644 ~/.ssh/known_hosts | ||
- name: SCP transfer | ||
run: scp *.jar ${{ secrets.SSH_USER }}@${{ secrets.SERVER_IP }}:~/deploy | ||
|
||
- name: Execute remote shell script | ||
run: | | ||
ssh ${{ secrets.SSH_USER }}@${{ secrets.SERVER_IP }} "chmod +x ./deploy.sh" | ||
ssh ${{ secrets.SSH_USER }}@${{ secrets.SERVER_IP }} "./deploy.sh" | ||
- name: Slack notification when deploy fail | ||
if: failure() | ||
uses: 8398a7/action-slack@v3 | ||
with: | ||
status: ${{ job.status }} | ||
author_name: [CI/CD] 백엔드 배포 실패 | ||
fields: repo, message, commit, author, action, eventName, ref, workflow, job, took | ||
env: | ||
SLACK_COLOR: '#FF2D00' | ||
SLACK_USERNAME: 'Github Action' | ||
SLACK_ICON: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_CICD }} | ||
|
||
- name: Slack notification when deploy success | ||
if: success() | ||
uses: 8398a7/action-slack@v3 | ||
with: | ||
status: ${{ job.status }} | ||
author_name: [CI/CD] 백엔드 배포 성공 | ||
fields: repo, message, commit, author, action, eventName, ref, workflow, job, took | ||
env: | ||
SLACK_COLOR: '#0019F4' | ||
SLACK_USERNAME: 'Github Action' | ||
SLACK_ICON: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_CICD }} |
This file was deleted.
Oops, something went wrong.
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