diff --git a/.github/workflows/cd.yml b/.github/workflows/cd-dev.yml similarity index 92% rename from .github/workflows/cd.yml rename to .github/workflows/cd-dev.yml index 479f68df..680b1358 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd-dev.yml @@ -1,12 +1,12 @@ -name: Makers_Crew CD +name: Makers_Crew Dev CD on: workflow_run: workflows: [ "Makers_Crew CI" ] - branches: [ "develop", "main", "feat/#145" ] + branches: [ "develop", "feat/#145" ] types: [ completed ] push: - branches: [ "develop", "main", "feat/#145" ] + branches: [ "develop", "feat/#145" ] jobs: deploy: runs-on: ubuntu-22.04 diff --git a/.github/workflows/cd-prod.yml b/.github/workflows/cd-prod.yml new file mode 100644 index 00000000..0009a893 --- /dev/null +++ b/.github/workflows/cd-prod.yml @@ -0,0 +1,50 @@ +name: Makers_Crew Dev CD #TODO - prod에 맞게 변경 필요 +on: + workflow_run: + workflows: [ "Makers_Crew CI" ] + branches: [ "main" ] + types: [ completed ] + + push: + branches: [ "main" ] +jobs: + deploy: + runs-on: ubuntu-22.04 + env: + working-directory-spring: main + working-directory-nestjs: server + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Docker build 가능하도록 환경 설정 + uses: docker/setup-buildx-action@v2 + + - name: Docker hub에 로그인 + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_LOGIN_USERNAME }} + password: ${{ secrets.DOCKERHUB_LOGIN_ACCESSTOKEN }} + + - name: docker image 빌드 및 푸시 (Spring) + run: | + docker build --platform linux/amd64 -t makerscrew/main . + docker push makerscrew/main + working-directory: ${{ env.working-directory-spring }} + + - name: docker image 빌드 및 푸시 (nestjs) + run: | + docker build --platform linux/amd64 -t makerscrew/server . + docker push makerscrew/server + working-directory: ${{ env.working-directory-nestjs }} + + - name: 도커 컨테이너 실행 + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.DEV_SERVER_IP }} + username: ${{ secrets.DEV_SERVER_USER }} + key: ${{ secrets.DEV_SERVER_KEY }} + script: | + cd ~ + chmod +x ./deploy.sh + ./deploy.sh \ No newline at end of file