Skip to content

백엔드 CD 파이프라인 Ver.2

정회성 edited this page Aug 20, 2024 · 1 revision

변경사항에 대해서만 설명을 표기했습니다.

1) workflow 이름 설정

name: Backend CD # workflow 이름

2) 실행조건 설정

설정된 브랜치로 push되면 jobs 실행

on: 
  push:
    branshes: # 설정된 브랜치
      - main
      - dev/be 

3) jobs 설정

jobs:
  build: # jar 파일 빌드해주는 job
    # ...
  deploy: # 서버 배포를 해주는 job
    #...

jar 파일 빌드

job 명 : build

build:
  runs-on:    // 아래의 값들을 라벨로 가진 runner가 실행됨
    - self-hosted
    - spring
    - ${{ contains(github.ref, 'main') && 'production' || 'develop' }}    // 동작하는 브랜치가 main이면 production, 아니라면 develop으로 설정됨
  steps:
    - name: 체크아웃
      uses: actions/checkout@v4

    - name: gradle 캐싱
      uses: gradle/actions/setup-gradle@v3

    - name: bootJar로 jar 파일 생성
      run: |
        ./gradlew bootJar
        mv build/libs/*.jar ${{ secrets.JAR_DIRECTORY }}
      working-directory: ./backend

    - name: 클린업
      if: always()
      run: rm -rf ../2024-code-zap/*

서버 배포

job 명 : deploy

deploy:
  needs: build
  runs-on:
    - self-hosted
    - spring
    - ${{ contains(github.ref, 'main') && 'production' || 'develop' }}
  steps:
    - name: 배포 스크립트 실행    // 스프링 부트의 도커화로 `docker compose restart` 명령어를 통해 서버를 재실행 시킬 수 있음
      run: |
        cd ${{ secrets.ZAP_DIRECTORY }}
        docker compose restart

⚡️ 코드zap

프로젝트

규칙 및 정책

공통

백엔드

프론트엔드

매뉴얼

백엔드

기술 문서

백엔드

프론트엔드

회의록


Clone this wiki locally