name: SpecialSource Backend CI/CD on: push: branches: [ "master" ] jobs: build-and-deploy: runs-on: backend-runner steps: - name: 1. 최신 소스 코드 가져오기. uses: actions/checkout@v3 - name: 2. Java 21 환경 세팅하기. uses: actions/setup-java@v3 with: java-version: '21' distribution: 'temurin' - name: 3. Gradle 빌드 (JAR 파일 생성) run: | chmod +x ./gradlew ./gradlew clean bootJar - name: 4. Docker 이미지 빌드 및 서버 재시작 run: | # 1) 최신 코드로 도커 이미지 빌드 docker build -t ss-backend-image . # 2) 기존에 돌고 있던 컨테이너가 있다면 안전하게 종료 및 삭제 docker stop ss-backend-container || true docker rm ss-backend-container || true # 3) 비어있는 18080 포트와 지정하신 app 폴더 경로를 연결하여 실행 docker run -d \ --name ss-backend-container \ -p 18080:8080 \ -v /volume1/docker/app/specialsource-backend/logs:/app/logs \ ss-backend-image