1- name : Build Docker and Upload to S3
1+ name : Build and Deploy GDGOC WebPage FE App
22
33on :
44 push :
@@ -10,52 +10,54 @@ jobs:
1010 runs-on : ubuntu-latest
1111
1212 steps :
13- - name : Checkout Code
14- uses : actions/checkout@v3
15-
16- - name : Create .env file
17- run : |
18- echo "DOCKER_HUB_USERNAME=${{ secrets.DOCKER_HUB_USERNAME }}" > .env
19- echo "NEXT_PUBLIC_GOOGLE_REDIRECT_CLIENT_ID=${{secrets.NEXT_PUBLIC_GOOGLE_REDIRECT_CLIENT_ID}}" >> .env
20- echo "NEXT_PUBLIC_GOOGLE_REDIRECT_URI=${{secrets.NEXT_PUBLIC_GOOGLE_REDIRECT_URI}}" >> .env
21-
22- - name : Login to DockerHub (Optional)
23- uses : docker/login-action@v2
24- with :
25- username : ${{ secrets.DOCKER_HUB_USERNAME }}
26- password : ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
27-
28- - name : Build and Push Docker Image
29- run : |
30- docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/gdgoc-fe-app:latest .
31- docker run --rm ${{ secrets.DOCKER_HUB_USERNAME }}/gdgoc-fe-app:latest ls -la /app
32- docker push ${{ secrets.DOCKER_HUB_USERNAME }}/gdgoc-fe-app:latest
33-
34- - name : Create Deployment Package
35- run : |
36- cp scripts/deploy.sh ./deploy.sh
37- zip -r deploy.zip .env docker-compose.yml deploy.sh appspec.yml \
38- Dockerfile package.json package-lock.json next.config.mjs \
39- pages public .next
40-
41- - name : Configure AWS credentials
42- run : |
43- aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
44- aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
45- aws configure set region ${{ secrets.AWS_REGION }}
46-
47- - name : Upload Deployment Package to S3
48- run : |
49- aws s3 cp deploy.zip s3://${{ secrets.AWS_S3_BUCKET }}/deploy.zip
50-
51- - name : Trigger CodeDeploy (CLI)
52- env :
53- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
54- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
55- AWS_REGION : ap-northeast-2
56- run : |
57- aws deploy create-deployment \
58- --application-name ${{ secrets.AWS_CODEDEPLOY_APP }} \
59- --deployment-group-name ${{ secrets.AWS_CODEDEPLOY_GROUP }} \
60- --s3-location bucket=${{ secrets.S3_BUCKET }},bundleType=zip,key=deploy.zip \
61- --file-exists-behavior OVERWRITE
13+ - name : Checkout Code
14+ uses : actions/checkout@v3
15+
16+ - name : Create .env file
17+ run : |
18+ mkdir -p gdgocinha-fe
19+ echo "DOCKER_HUB_USERNAME=${{ secrets.DOCKER_HUB_USERNAME }}" > .env
20+ echo "NEXT_PUBLIC_GOOGLE_REDIRECT_CLIENT_ID=${{ secrets.NEXT_PUBLIC_GOOGLE_REDIRECT_CLIENT_ID }}" >> .env
21+ echo "NEXT_PUBLIC_GOOGLE_REDIRECT_URI=${{ secrets.NEXT_PUBLIC_GOOGLE_REDIRECT_URI }}" >> .env
22+
23+ - name : Login to DockerHub
24+ uses : docker/login-action@v2
25+ with :
26+ username : ${{ secrets.DOCKER_HUB_USERNAME }}
27+ password : ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
28+
29+ - name : Build and Push Docker Image
30+ run : |
31+ docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/gdgocinha-fe:latest .
32+ docker push ${{ secrets.DOCKER_HUB_USERNAME }}/gdgocinha-fe:latest
33+
34+ - name : Create Deployment Package
35+ run : |
36+ mkdir -p deploy-package
37+ cp scripts/deploy.sh deploy-package/
38+ cp docker-compose.yml deploy-package/
39+ cp appspec.yml deploy-package/
40+ cp .env deploy-package/
41+ zip -r deploy-gdgocinha-fe.zip deploy-package/
42+
43+ - name : Configure AWS credentials
44+ run : |
45+ aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
46+ aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
47+ aws configure set region ${{ secrets.AWS_REGION }}
48+
49+ - name : Upload Deployment Package to S3
50+ run : |
51+ aws s3 cp deploy-gdgocinha-fe.zip s3://${{ secrets.AWS_S3_BUCKET }}/gdgocinha-fe/deploy-gdgocinha-fe.zip
52+
53+ - name : Trigger CodeDeploy
54+ env :
55+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
56+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
57+ AWS_REGION : ap-northeast-2
58+ run : |
59+ aws deploy create-deployment \
60+ --application-name ${{ secrets.AWS_CODEDEPLOY_APP }} \
61+ --deployment-group-name ${{ secrets.AWS_CODEDEPLOY_GROUP }} \
62+ --s3-location bucket=${{ secrets.AWS_S3_BUCKET }},bundleType=zip,key=gdgocinha-fe/deploy-gdgocinha-fe.zip \
63+ --file-exists-behavior OVERWRITE
0 commit comments