diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index 11ab96ad..4b4d5ac9 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -1,6 +1,6 @@ # This is a basic workflow to help you get started with Actions -name: CICD +name: deploy-dev # Controls when the workflow will run on: diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml new file mode 100644 index 00000000..a083010f --- /dev/null +++ b/.github/workflows/deploy-prod.yml @@ -0,0 +1,70 @@ +# This is a basic workflow to help you get started with Actions + +name: deploy-prod + +# Controls when the workflow will run +on: + push: + branches: [ main ] + +env: + AWS_S3_BUCKET_NAME: ${{ secrets.AWS_S3_BUCKET_NAME_PROD }} + +jobs: + build: + runs-on: ubuntu-18.04 + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: create secret files + working-directory: ./src/main/resources + run: | + touch application.yml + touch application-prod.yml + echo "${{ secrets.APPLICATION_YML }}" >> application.yml + echo "${{ secrets.APPLICATION_PROD_YML }}" >> application-prod.yml + + mkdir firebase + touch ./firebase/firebase_service_key.json + echo "${{ secrets.FIREBASE_SERVICE_KEY_JSON }}" >> ./firebase/firebase_service_key.json + sed -i 's/#/"/g' ./firebase/firebase_service_key.json + + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + distribution: 'corretto' + java-version: '11' + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + shell: bash + + # - name: Test with Gradle + # run: ./gradlew test + + - name: Build with Gradle + run: ./gradlew build -x test + shell: bash + + - name: Make zip file + run: zip -r ./code-deploy.zip . + shell: bash + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_S3_ACCESS_KEY_PROD }} + aws-secret-access-key: ${{ secrets.AWS_S3_SECRET_KEY_PROD }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Upload to S3 + run: aws s3 cp --region ap-northeast-2 ./code-deploy.zip s3://$AWS_S3_BUCKET_NAME/code-deploy.zip + + - name: Code Deploy + run: aws deploy create-deployment + --application-name hous-codedeploy + --deployment-config-name CodeDeployDefault.OneAtATime + --deployment-group-name API + --s3-location bucket=$AWS_S3_BUCKET_NAME,bundleType=zip,key=code-deploy.zip diff --git a/.github/workflows/pr-check-dev.yml b/.github/workflows/pr-check-dev.yml index 236c966b..b3e0e442 100644 --- a/.github/workflows/pr-check-dev.yml +++ b/.github/workflows/pr-check-dev.yml @@ -1,6 +1,6 @@ # This is a basic workflow to help you get started with Actions -name: CI +name: pr-check-dev # Controls when the workflow will run on: diff --git a/.github/workflows/pr-check-prod.yml b/.github/workflows/pr-check-prod.yml new file mode 100644 index 00000000..e1874cec --- /dev/null +++ b/.github/workflows/pr-check-prod.yml @@ -0,0 +1,46 @@ +# This is a basic workflow to help you get started with Actions + +name: pr-check-prod + +# Controls when the workflow will run +on: + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-18.04 + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: create secret files + working-directory: ./src/main/resources + run: | + touch application.yml + touch application-prod.yml + echo "${{ secrets.APPLICATION_YML }}" >> application.yml + echo "${{ secrets.APPLICATION_PROD_YML }}" >> application-prod.yml + + mkdir firebase + touch ./firebase/firebase_service_key.json + echo "${{ secrets.FIREBASE_SERVICE_KEY_JSON }}" >> ./firebase/firebase_service_key.json + sed -i 's/#/"/g' ./firebase/firebase_service_key.json + + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + distribution: 'corretto' + java-version: '11' + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + shell: bash + + # - name: Test with Gradle + # run: ./gradlew test + + - name: Build with Gradle + run: ./gradlew build -x test + shell: bash