Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: CD 과정에서 output 변수 이름 수정 #8

Merged
merged 2 commits into from
Apr 24, 2024

Conversation

tlarbals824
Copy link
Contributor

🗃 Issue

🔥 Task

  • CD 과정에서 사용하는 output 변수 이름 수정 (runs_this_month -> new_version)
  • VERSION 환경변수 사용시 '$' 추가

📄 Reference

  • None

@tlarbals824 tlarbals824 marked this pull request as ready for review April 24, 2024 15:52
Copy link

제출된 코드는 GitHub Actions를 사용하여 Docker 이미지를 빌드하고 배포하는 작업을 수행하는 워크플로를 정의합니다. 제공된 코드 검토 결과, 몇 가지 권장 사항이 있습니다.

  1. 메서드 네이밍 및 출력 값 업데이트:

    • new_version이라는 출력 값이 새로 생성되고 사용되고 있지만, 일부 단계에서 여전히 VERSION이라는 기존 값을 사용하고 있습니다. 이를 통일시켜 일관성 있게 사용해야 합니다.
    • 코드의 가독성과 유지보수성을 높이기 위해 일관된 네이밍을 유지해야 합니다.
  2. 예외 처리 및 안정성:

    • 현재 코드에서는 예외 처리에 대한 명확한 전략이 누락되어 있습니다. 예기치 않은 상황에 대한 처리 방법을 추가하여 코드의 안정성을 향상시킬 수 있습니다.
  3. 로직 흐름 및 주석 추가:

    • 주석을 추가하여 각 단계가 하는 일을 세부적으로 설명해야 합니다. 코드의 로직 흐름이 명확해야 다른 사람들도 이해하기 쉽습니다.
  4. 개선된 코드:

 file name: .github/workflows/dev_deploy.yml
@@ -26,6 +26,8 @@ jobs:
   push_to_docker_hub:
     needs: application_build
     runs-on: ubuntu-latest
+    outputs:
+      new_version: ${{ steps.generate_version.outputs.new_version }}
     steps:
       - name: Generate Version
         id: generate_version
@@ -40,7 +42,7 @@ jobs:
             | jq '.total_count')
           
           echo "new version is $current_date_short_year.$runs_this_month"
-          echo "runs_this_month=$current_date_short_year.$runs_this_month" >> "$GITHUB_OUTPUT"
+          echo "new_version=$current_date_short_year.$runs_this_month" >> "$GITHUB_OUTPUT"
 
       - name: Login to Docker
         uses: docker/login-action@v3
@@ -51,14 +53,14 @@ jobs:
 
       - name: Docker build
         env:
-          VERSION: ${{ steps.generate_version.outputs.runs_this_month }}
+          VERSION: ${{ steps.generate_version.outputs.new_version }}
           DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }}
           IMAGE_NAME: ${{ secrets.IMAGE_NAME }}
         run: |
-          docker build -t $DOCKER_REGISTRY/IMAGE_NAME:$VERSION .
-          docker tag $DOCKER_REGISTRY/IMAGE_NAME:$VERSION $DOCKER_REGISTRY/IMAGE_NAME:latest
-          docker push $DOCKER_REGISTRY/IMAGE_NAME:$VERSION
-          docker push $DOCKER_REGISTRY/IMAGE_NAME:latest
+          docker build -t $DOCKER_REGISTRY/$IMAGE_NAME:$VERSION .
+          docker tag $DOCKER_REGISTRY/$IMAGE_NAME:$VERSION $DOCKER_REGISTRY/$IMAGE_NAME:latest
+          docker push $DOCKER_REGISTRY/$IMAGE_NAME:$VERSION
+          docker push $DOCKER_REGISTRY/$IMAGE_NAME:latest
 
 
   run_application:
@@ -71,7 +73,7 @@ jobs:
       - name: Run Docker container
         uses: appleboy/ssh-action@master
         env:
-          VERSION: ${{ needs.push_to_docker_hub.outputs.VERSION }}
+          VERSION: ${{ needs.push_to_docker_hub.outputs.new_version }}
           DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }}
           DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
           DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
@@ -86,4 +88,4 @@ jobs:
             docker pull $DOCKER_REGISTRY/IMAGE_NAME:$VERSION
             docker stop $IMAGE_NAME || true
             docker rm $IMAGE_NAME || true
-            docker run -d --name $IMAGE_NAME -p 8080:8080 $DOCKER_REGISTRY/IMAGE_NAME:$VERSION
\ No newline at end of file
+            docker run -d --name $IMAGE_NAME -p 8080:8080 $DOCKER_REGISTRY/$IMAGE_NAME:$VERSION
\ No newline at end of file

이러한 개선 사항을 적용하여 코드를 개선하고 향후 유지보수 및 확장에 용이하도록 합니다.

@tlarbals824 tlarbals824 merged commit b55c571 into develop Apr 24, 2024
1 check passed
@tlarbals824 tlarbals824 deleted the chore/#5-cicd branch April 24, 2024 15:53
@tlarbals824 tlarbals824 added the 🌏 Deploy&Infra 인프라, 배포 관련 label Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌏 Deploy&Infra 인프라, 배포 관련
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant