Skip to content

[ATR-613] chore: 스테이징 서버에서 사용하지 않는 filebeat 실행 명령어 삭제 (#297) #3

[ATR-613] chore: 스테이징 서버에서 사용하지 않는 filebeat 실행 명령어 삭제 (#297)

[ATR-613] chore: 스테이징 서버에서 사용하지 않는 filebeat 실행 명령어 삭제 (#297) #3

Workflow file for this run

name: Deploy to Staging
on:
push:
branches:
- dev
jobs:
Deploy:
runs-on: ubuntu-latest
permissions:
deployments: write
steps:
- name: Github Repository 파일 불러오기
uses: actions/checkout@v4
- name: JDK v21 설치
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: application-dev.yml 파일 만들기
run: echo '${{ secrets.APPLICATION_DEV_PROPERTIES }}' > ./src/main/resources/application.yml
- name: application-test.yml 파일 만들기
run: echo '${{ secrets.APPLICATION_TEST_PROPERTIES }}' > ./src/main/resources/application-test.yml
- name: credentials.json 파일 만들기
run: echo '${{ secrets.CREDENTIAL_JSON }}' > ./src/main/resources/credentials.json
- name: log4j2.xml 파일 만들기
run: echo '${{ secrets.LOG4J2_XML }}' > ./src/main/resources/log4j2.xml
- name: 테스트 및 빌드하기
run: ./gradlew clean build
- name: Docker hub 로그인
uses: docker/login-action@v3
with:
username: ${{secrets.DOCKERHUB_USERNAME}}
password: ${{secrets.DOCKERHUB_TOKEN}}
- name: build and release to DockerHub
env:
NAME: ${{ secrets.DOCKERHUB_USERNAME }}
REPO: attraction-api-server
run: |
docker build -t $REPO .
docker tag $REPO:latest $NAME/$REPO:latest
docker push $NAME/$REPO:latest
- name: 배포 작업 생성
uses: chrnorm/deployment-action@v2
id: deployment
with:
token: ${{ secrets.GITHUB_TOKEN }}
environment-url: https://attraction.run
environment: dev
ref: ${{ github.ref }}
- name: SSH로 EC2에 접속하기
uses: appleboy/[email protected]
with:
host: ${{ secrets.DEV_EC2_HOST }}
username: ${{ secrets.DEV_EC2_USERNAME }}
key: ${{ secrets.DEV_EC2_PRIVATE_KEY }}
script_stop: true
script: |
docker stop attraction-api-server || true
docker rm attraction-api-server || true
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/attraction-api-server:latest
# Redis 컨테이너 실행
docker stop redis-server || true
docker rm redis-server || true
docker run -d --name redis-server -p 6379:6379 redis:latest
# Spring Boot 애플리케이션 컨테이너 실행
docker run -d --name attraction-api-server --link redis-server:redis -e TZ=Asia/Seoul -p 8080:8080 -v /home/ec2-user/workspace/logs:/logs ${{ secrets.DOCKERHUB_USERNAME }}/attraction-api-server:latest
- name: 슬랙 알림
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
fields: repo,message,commit,author,action,eventName,ref,workflow,job,took,pullRequest
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
if: always()