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) [★확정] 진짜 NAS 사설 IP 주소와 DB_URL 변수명을 매핑하여 실행 docker run -d \ --name ss-backend-container \ -p 18080:8080 \ -e JASYPT_ENCRYPTOR_PASSWORD=81sungjin1015 \ -e DB_URL=jdbc:postgresql://192.168.0.215:5435/mydb?sslmode=disable \ -v /volume1/docker/app/specialsource-backend/logs:/app/logs \ --restart always \ ss-backend-image