|
1 | | -name: Deploy Docker Images |
2 | | - |
3 | | -on: |
4 | | - push: |
5 | | - |
6 | | -jobs: |
7 | | - deploy: |
8 | | - runs-on: ubuntu-latest |
9 | | - environment: |
10 | | - name: AWS |
11 | | - url: 'https://client.${{ vars.EC2_PUBLIC_IP }}.nip.io' |
12 | | - steps: |
13 | | - - name: Checkout Code |
14 | | - uses: actions/checkout@v4 |
15 | | - |
16 | | - - name: Copy Docker Compose File From Repo to VM Host |
17 | | - uses: appleboy/scp-action@v0.1.7 |
18 | | - with: |
19 | | - host: ${{ vars.EC2_PUBLIC_IP }} |
20 | | - username: ${{ vars.AWS_EC2_USER }} |
21 | | - key: ${{ secrets.AWS_EC2_PRIVATE_KEY }} |
22 | | - source: "./compose.aws.yml" |
23 | | - target: /home/${{ vars.AWS_EC2_USER }} |
24 | | - |
25 | | - - name: SSH to VM and Create .env.prod |
26 | | - uses: appleboy/ssh-action@v1.0.3 |
27 | | - with: |
28 | | - host: ${{ vars.EC2_PUBLIC_IP }} |
29 | | - username: ${{ vars.AWS_EC2_USER }} |
30 | | - key: ${{ secrets.AWS_EC2_PRIVATE_KEY }} |
31 | | - script: | |
32 | | - rm .env.prod |
33 | | - touch .env.prod |
34 | | - echo "CLIENT_HOST=client.${{ vars.EC2_PUBLIC_IP }}.nip.io" >> .env.prod |
35 | | - echo "SERVER_HOST=api.${{ vars.EC2_PUBLIC_IP }}.nip.io" >> .env.prod |
36 | | - echo "PUBLIC_API_URL=https://api.${{ vars.EC2_PUBLIC_IP }}.nip.io/api" >> .env.prod |
37 | | -
|
38 | | - - name: SSH to VM and Execute Docker-Compose Up |
39 | | - uses: appleboy/ssh-action@v1.0.3 |
40 | | - with: |
41 | | - host: ${{ vars.EC2_PUBLIC_IP }} |
42 | | - username: ${{ vars.AWS_EC2_USER }} |
43 | | - key: ${{ secrets.AWS_EC2_PRIVATE_KEY }} |
44 | | - script: | |
45 | | - echo "Logging into Docker registry..." |
46 | | - echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin |
47 | | - echo "Starting Docker Compose..." |
48 | | - docker compose -f compose.aws.yml --env-file=.env.prod up --pull=always -d |
| 1 | +#name: Deploy Docker Images |
| 2 | +# |
| 3 | +#on: |
| 4 | +# push: |
| 5 | +# |
| 6 | +#jobs: |
| 7 | +# deploy: |
| 8 | +# runs-on: ubuntu-latest |
| 9 | +# environment: |
| 10 | +# name: AWS |
| 11 | +# url: 'https://client.${{ vars.EC2_PUBLIC_IP }}.nip.io' |
| 12 | +# steps: |
| 13 | +# - name: Checkout Code |
| 14 | +# uses: actions/checkout@v4 |
| 15 | +# |
| 16 | +# - name: Copy Docker Compose File From Repo to VM Host |
| 17 | +# uses: appleboy/scp-action@v0.1.7 |
| 18 | +# with: |
| 19 | +# host: ${{ vars.EC2_PUBLIC_IP }} |
| 20 | +# username: ${{ vars.AWS_EC2_USER }} |
| 21 | +# key: ${{ secrets.AWS_EC2_PRIVATE_KEY }} |
| 22 | +# source: "./compose.aws.yml" |
| 23 | +# target: /home/${{ vars.AWS_EC2_USER }} |
| 24 | +# |
| 25 | +# - name: SSH to VM and Create .env.prod |
| 26 | +# uses: appleboy/ssh-action@v1.0.3 |
| 27 | +# with: |
| 28 | +# host: ${{ vars.EC2_PUBLIC_IP }} |
| 29 | +# username: ${{ vars.AWS_EC2_USER }} |
| 30 | +# key: ${{ secrets.AWS_EC2_PRIVATE_KEY }} |
| 31 | +# script: | |
| 32 | +# rm .env.prod |
| 33 | +# touch .env.prod |
| 34 | +# echo "CLIENT_HOST=client.${{ vars.EC2_PUBLIC_IP }}.nip.io" >> .env.prod |
| 35 | +# echo "SERVER_HOST=api.${{ vars.EC2_PUBLIC_IP }}.nip.io" >> .env.prod |
| 36 | +# echo "PUBLIC_API_URL=https://api.${{ vars.EC2_PUBLIC_IP }}.nip.io/api" >> .env.prod |
| 37 | +# |
| 38 | +# - name: SSH to VM and Execute Docker-Compose Up |
| 39 | +# uses: appleboy/ssh-action@v1.0.3 |
| 40 | +# with: |
| 41 | +# host: ${{ vars.EC2_PUBLIC_IP }} |
| 42 | +# username: ${{ vars.AWS_EC2_USER }} |
| 43 | +# key: ${{ secrets.AWS_EC2_PRIVATE_KEY }} |
| 44 | +# script: | |
| 45 | +# echo "Logging into Docker registry..." |
| 46 | +# echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin |
| 47 | +# echo "Starting Docker Compose..." |
| 48 | +# docker compose -f compose.aws.yml --env-file=.env.prod up --pull=always -d |
0 commit comments