From 599cd2524de2f95543fe61c50e635490e932dd39 Mon Sep 17 00:00:00 2001 From: zzzzseong Date: Mon, 29 Jan 2024 15:05:59 +0900 Subject: [PATCH] =?UTF-8?q?chore(CI/CD):=20=EC=84=B1=EB=8A=A5=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=9A=A9=20testCD=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/TestCD.yml | 70 +++++++++++++++++++ .../product/controller/ProductController.java | 2 +- 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/TestCD.yml diff --git a/.github/workflows/TestCD.yml b/.github/workflows/TestCD.yml new file mode 100644 index 00000000..26e7a829 --- /dev/null +++ b/.github/workflows/TestCD.yml @@ -0,0 +1,70 @@ +name: 'sports_echo_cd' +on: + push: + branches: + - "test/performance" + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + # JDK17 설치 + - name: setup jdk + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + + - name: Grant execute permission for gradlew + run: chmod +x ./gradlew + + - name: Spring Boot Application Build + run: ./gradlew build -x test + + - name: DockerHub Login + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME}} + password: ${{ secrets.DOCKERHUB_PASSWORD}} + + - name: Docker Image Build + run: docker build -t ${{ secrets.DOCKERHUB_USERNAME}}/${{ secrets.PROJECT_NAME }} . + + - name: DockerHub Push + run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.PROJECT_NAME }} + + - name: Run Application + uses: appleboy/ssh-action@v0.1.6 + with: + host: ${{ secrets.EC2_TEST_HOST }} + username: ${{ secrets.EC2_TEST_USERNAME }} + key: ${{ secrets.EC2_KEY }} + + script: | + sudo docker kill ${{ secrets.PROJECT_NAME }} + sudo docker rm -f ${{ secrets.PROJECT_NAME }} + sudo docker rmi ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.PROJECT_NAME }} + sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.PROJECT_NAME }} + + sudo docker run \ + -e ADMIN_SECRET_KEY=${{ secrets.ADMIN_SECRET_KEY }} \ + -e AWS_ACCESS_KEY=${{ secrets.AWS_ACCESS_KEY }} \ + -e AWS_SECRET_KEY=${{ secrets.AWS_SECRET_KEY }} \ + -e BASEBALL_API_KEY=${{ secrets.BASEBALL_API_KEY }} \ + -e BASKETBALL_API_KEY=${{ secrets.BASKETBALL_API_KEY }} \ + -e FOOTBALL_API_KEY=${{ secrets.FOOTBALL_API_KEY }} \ + -e GOOGLE_API_KEY=${{ secrets.GOOGLE_API_KEY }} \ + -e GOOGLE_API_SECRET=${{ secrets.GOOGLE_API_SECRET }} \ + -e JWT_SECRET_KEY=${{ secrets.JWT_SECRET_KEY }} \ + -e KAKAO_API_KEY=${{ secrets.KAKAO_API_KEY }} \ + -e NAVER_API_KEY=${{ secrets.NAVER_API_KEY }} \ + -e NAVER_API_SECRET=${{ secrets.NAVER_API_SECRET }} \ + -e RDS_USERNAME=${{ secrets.RDS_USERNAME }} \ + -e RDS_PASSWORD=${{ secrets.RDS_PASSWORD }} \ + -p ${{ secrets.PORT }}:${{ secrets.PORT }} \ + --name ${{ secrets.PROJECT_NAME }} \ + -d ${{ secrets.DOCKERHUB_USERNAME}}/${{ secrets.PROJECT_NAME }} \ No newline at end of file diff --git a/src/main/java/com/sportsecho/product/controller/ProductController.java b/src/main/java/com/sportsecho/product/controller/ProductController.java index 71796b53..69158fe7 100644 --- a/src/main/java/com/sportsecho/product/controller/ProductController.java +++ b/src/main/java/com/sportsecho/product/controller/ProductController.java @@ -27,7 +27,7 @@ public class ProductController { private final ProductService productService; @Autowired - public ProductController(@Qualifier("V2") ProductService productService) { + public ProductController(@Qualifier("V1") ProductService productService) { this.productService = productService; }