Skip to content

Merge branch 'dev' into release #138

Merge branch 'dev' into release

Merge branch 'dev' into release #138

Workflow file for this run

name: Deploy to AWS CodeDeploy
on:
push:
branches: [ release ]
env:
PROJECT_NAME: issueTracker
BUCKET_NAME: issuetrackerbucket
CODE_DEPLOY_APP_NAME: issueTracker-app
DEPLOYMENT_GROUP_NAME: issueTrackerGroup
BUCKET_NAME_WEB: issuetracker-bucket-web
CODE_DEPLOY_APP_NAME_WEB: issuetracker-webserver
DEPLOYMENT_GROUP_NAME_WEB: issuetracker-app
jobs:
was-build-and-deploy:
runs-on: ubuntu-latest
env:
APPLICATION: ${{ secrets.APPLICATION }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Java
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '11'
- run: |
touch ./backend/src/main/resources/application.yml
echo "${{ secrets.APPLICATION }}" > ./backend/src/main/resources/application.yml
cat ./backend/src/main/resources/application.yml
- name: Build JAR
run: |
cd backend
chmod +x gradlew
./gradlew clean build -x test
- name: Make Directory for deliver
run: mkdir -p deploy/was
- name: Copy Jar, appspec.yml and deploy.sh
run: |
cp ./backend/build/libs/*.jar ./deploy/
cp ./appspec-was.yml ./deploy/appspec.yml
cp ./deploy-was.sh ./deploy/
- name: Make zip file
run: zip -r ./issueTracker-build.zip ./deploy/
- name: Upload ZIP to S3
run: |
aws s3 cp ./issueTracker-build.zip s3://${{ env.BUCKET_NAME }}/deploy/was/issueTracker-build.zip
env:
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Deploy to CodeDeploy
run: |
aws deploy create-deployment \
--application-name ${{ env.CODE_DEPLOY_APP_NAME }} \
--deployment-config-name CodeDeployDefault.OneAtATime \
--deployment-group-name ${{ env.DEPLOYMENT_GROUP_NAME }} \
--s3-location bucket=${{ env.BUCKET_NAME }},bundleType=zip,key=deploy/was/issueTracker-build.zip
env:
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
web-build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Install Dependencies
run: npm install
working-directory: ./frontend
- name: Build React App
run: npm run build
working-directory: ./frontend
- name: Make Directory for deliver
run: mkdir -p deploy/web
- name: Copy build, appspec.yml and deploy.sh
run: |
cp -r ./frontend/build/ ./deploy/
cp ./appspec-web.yml ./deploy/appspec.yml
cp ./deploy-web.sh ./deploy/
- name: Make zip file
run: zip -r ./react-build.zip ./deploy/
- name: Upload ZIP to S3
run: |
aws s3 cp ./react-build.zip s3://${{ env.BUCKET_NAME_WEB }}/deploy/web/react-build.zip
env:
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_WEB }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_WEB }}
- name: Deploy to CodeDeploy
run: |
aws deploy create-deployment \
--application-name ${{ env.CODE_DEPLOY_APP_NAME_WEB }} \
--deployment-config-name CodeDeployDefault.OneAtATime \
--deployment-group-name ${{ env.DEPLOYMENT_GROUP_NAME_WEB }} \
--s3-location bucket=${{ env.BUCKET_NAME_WEB }},bundleType=zip,key=deploy/web/react-build.zip
env:
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_WEB }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_WEB }}