|
6 | 6 | - main |
7 | 7 |
|
8 | 8 | jobs: |
9 | | - build-and-push: |
| 9 | + build-and-deploy: |
10 | 10 | runs-on: ubuntu-latest |
11 | 11 |
|
12 | 12 | steps: |
13 | 13 | - name: Checkout Repository |
14 | 14 | uses: actions/checkout@v3 |
15 | 15 |
|
| 16 | + - name: Check directory |
| 17 | + run: ls -al |
| 18 | + |
16 | 19 | - name: Log in to Docker Hub |
17 | 20 | uses: docker/login-action@v2 |
18 | 21 | with: |
19 | 22 | username: ${{ secrets.DOCKER_HUB_USERNAME }} |
20 | 23 | password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} |
21 | 24 |
|
22 | | - - name: Build Docker Image |
23 | | - run: | |
24 | | - docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/gdgoc-be-app:latest . |
25 | | -
|
26 | | - - name: Push Docker Image to Docker Hub |
| 25 | + - name: Build and Push Docker Image |
27 | 26 | run: | |
28 | | - docker push ${{ secrets.DOCKER_HUB_USERNAME }}/gdgoc-be-app:latest |
| 27 | + docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/my-app:latest . |
| 28 | + docker push ${{ secrets.DOCKER_HUB_USERNAME }}/my-app:latest |
29 | 29 |
|
30 | | - - name: Generate .env file |
| 30 | + - name: Create Deployment Package |
31 | 31 | run: | |
32 | 32 | echo "DOCKER_HUB_USERNAME=${{ secrets.DOCKER_HUB_USERNAME }}" > .env |
33 | 33 | echo "DB_HOST=${{ secrets.DB_HOST }}" >> .env |
34 | 34 | echo "DB_PORT=${{ secrets.DB_PORT }}" >> .env |
35 | 35 | echo "DB_NAME=${{ secrets.DB_NAME }}" >> .env |
36 | 36 | echo "DB_USERNAME=${{ secrets.DB_USERNAME }}" >> .env |
37 | 37 | echo "DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> .env |
38 | | - zip -r deploy.zip docker-compose.yml deploy.sh appspec.yml .env |
| 38 | + |
| 39 | + zip -r deploy.zip .env docker-compose.yml deploy.sh gdgoc/appspec.yml |
| 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: | |
39 | 49 | aws s3 cp deploy.zip s3://${{ secrets.AWS_S3_BUCKET }}/deploy.zip |
40 | 50 |
|
41 | | - - name: Trigger AWS CodeDeploy |
| 51 | + - name: Deploy to AWS CodeDeploy |
42 | 52 | run: | |
43 | 53 | aws deploy create-deployment \ |
44 | 54 | --application-name ${{ secrets.AWS_CODEDEPLOY_APP }} \ |
|
0 commit comments