Ci: workflow 수정 #93
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Dev Deploy to Elastic Beanstalk | ||
| on: | ||
| push: | ||
| branches: [ "feature/#143" ] | ||
| env: | ||
| AWS_REGION: ap-northeast-2 | ||
| EB_APP_NAME: routebox | ||
| EB_ENV_NAME: Routebox-dev-env | ||
| JAR_FILE: routebox-0.0.1.jar | ||
| S3_BUCKET: elasticbeanstalk-${{ env.AWS_REGION }}-${{ secrets.AWS_ACCOUNT_ID }} | ||
|
Check failure on line 12 in .github/workflows/dev-deploy.yml
|
||
| VERSION_LABEL: v-${{ github.run_number }}-${{ github.sha }} | ||
| permissions: | ||
| contents: read | ||
| jobs: | ||
| deploy: | ||
| name: Deploy | ||
| runs-on: ubuntu-latest | ||
| environment: production | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Set up JDK 17 | ||
| uses: actions/setup-java@v3 | ||
| with: | ||
| java-version: '17' | ||
| distribution: 'temurin' | ||
| cache: 'gradle' | ||
| - name: Copy Secret | ||
| env: | ||
| CREATE_SECRET: ${{ secrets.ENV_DEV }} | ||
| CREATE_SECRET_DIR: src/main/resources | ||
| CREATE_SECRET_DIR_FILE_NAME: env.properties | ||
| run: echo $CREATE_SECRET | base64 --decode > $CREATE_SECRET_DIR/$CREATE_SECRET_DIR_FILE_NAME | ||
| - name: Grant execute permission for gradlew | ||
| run: chmod +x gradlew | ||
| - name: Build with Gradle | ||
| run: ./gradlew bootJar | ||
| - name: Configure AWS credentials | ||
| uses: aws-actions/configure-aws-credentials@v2 | ||
| with: | ||
| aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
| aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
| aws-region: ${{ env.AWS_REGION }} | ||
| - name: Create Procfile | ||
| run: | | ||
| echo "web: java -Dserver.port=5000 -jar build/libs/${JAR_FILE}" > Procfile | ||
| cat Procfile | ||
| - name: Create .ebextensions for Java configuration | ||
| run: | | ||
| mkdir -p .ebextensions | ||
| cat > .ebextensions/java-options.config << 'EOL' | ||
| option_settings: | ||
| aws:elasticbeanstalk:application:environment: | ||
| JAVA_OPTS: "-Xms256m -Xmx512m" | ||
| aws:elasticbeanstalk:environment:proxy:staticfiles: | ||
| /static: static | ||
| EOL | ||
| - name: Create deployment package | ||
| run: | | ||
| mkdir -p deploy | ||
| cp -r build/libs/${{ env.JAR_FILE }} Procfile .ebextensions deploy/ | ||
| cd deploy && zip -r ../deploy.zip . | ||
| - name: Install EB CLI | ||
| run: | | ||
| pip install --upgrade --user awsebcli | ||
| echo "$HOME/.local/bin" >> $GITHUB_PATH | ||
| - name: EB Init | ||
| run: | | ||
| eb init ${{ env.EB_APP_NAME }} --platform "Corretto 17 running on 64bit Amazon Linux 2023" --region ${{ env.AWS_REGION }} | ||
| eb use ${{ env.EB_ENV_NAME }} | ||
| - name: Deploy to Elastic Beanstalk | ||
| run: | | ||
| VERSION_LABEL="${{ env.VERSION_LABEL }}-$(date +%Y%m%d%H%M%S)" | ||
| echo "Deploying with version: $VERSION_LABEL" | ||
| eb deploy ${{ env.EB_ENV_NAME }} --label=$VERSION_LABEL --timeout 30 | ||