diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..9c083ad --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,60 @@ +name: Deploy String boot + +on: + push: + branches: + - main #main branch에 push 시 동작 + +env: + S3_BUCKET_NAME : sohwagibucket + CODE_DEPLOY_APPLICATION_NAME: sohwagi + CODE_DEPLOY_DEPLOYMENT_GROUP_NAME: sohwagi + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 #현재 프로젝트는 자바 11버전을 사용하고 있다. + + - uses: actions/checkout@v2 + - run: touch ./src/main/resources/application-security.properties + - run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./src/main/resources/application-security.properties + #보안 properties파일 생성 + #필요하지 않다면 지워도 됨 + + - name: Grant execute permission for gradlew + run: chmod +x ./gradlew + shell: bash + + - name: Build with Gradle + run: ./gradlew build + shell: bash + + - name: Make zip file + run: zip -r ./$GITHUB_SHA.zip . + shell: bash + + - name: Configure AWS credentials + uses: aws-action/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Upload to S3 + run: aws s3 cp --region ap-northeast-2 ./$GITHUB_SHA.zip s3://$S3_BUCKET_NAME/$GITHUB_SHA.zip + + - name: Code Deploy + run: | + aws deploy create-deployment \ + --deployment-config-name CodeDeployDefault.AllAtOnce \ + --application-name ${{ env.CODE_DEPLOY_APPLICATION_NAME }} \ + --deployment-group-name ${{ env.CODE_DEPLOY_DEPLOYMENT_GROUP_NAME }} \ + --s3-location bucket=$S3_BUCKET_NAME,bundleType=zip,key=$GITHUB_SHA.zip