Skip to content

Commit

Permalink
chore: try out test environment deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
izaiasmachado committed Mar 6, 2024
1 parent 0d52468 commit 8533bd1
Showing 1 changed file with 49 additions and 29 deletions.
78 changes: 49 additions & 29 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,16 @@
name: Deploy
on:
push:
branches:
- main
# branches:
# - main

jobs:
push-to-registry:
name: Push to DockerHub Registry
deploy-test:
name: Deploy test environment to Azure VM
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: "zulu"

- name: Login to DockerHub
run: echo ${{ secrets.DOCKERHUB_TOKEN }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin

- name: Build and push Docker image
run: |
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api .
docker push ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api
deploy:
name: Deploy to Azure VM
runs-on: ubuntu-latest
needs: push-to-registry
environment:
name: azure-production
url: https://api.mandacarubroker.com.br/docs
name: azure-test
url: https://test-api.mandacarubroker.com.br/docs
steps:
- name: Set up Azure CLI
uses: azure/login@v1
Expand All @@ -47,3 +24,46 @@ jobs:
- name: Deploy to Azure VM and run Docker
run: ssh -o StrictHostKeyChecking=no -i private_key ${{ vars.AZURE_VM_USER }}@${{ vars.AZURE_VM_IP }} 'sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api || true && sudo docker stop mandacarubroker-api || true && docker rm mandacarubroker-api || true && docker run --log-opt labels=applications,environment --restart unless-stopped --name mandacarubroker-api -e MANDACARU_POSTGRES_HOST=${{ secrets.MANDACARU_POSTGRES_HOST }} -e MANDACARU_POSTGRES_PORT=${{ secrets.MANDACARU_POSTGRES_PORT }} -e MANDACARU_POSTGRES_DB=${{ secrets.MANDACARU_POSTGRES_DB }} -e MANDACARU_POSTGRES_USER=${{ secrets.MANDACARU_POSTGRES_USER }} -e MANDACARU_POSTGRES_PASSWORD=${{ secrets.MANDACARU_POSTGRES_PASSWORD }} -e MANDACARU_SQL_INIT_MODE=${{ vars.MANDACARU_SQL_INIT_MODE }} -e MANDACARU_JWT_SECRET=${{ secrets.MANDACARU_JWT_SECRET }} -e MANDACARU_API_PORT=${{ vars.MANDACARU_API_PORT }} -p ${{ vars.MANDACARU_API_PORT }}:8080 -d ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api'

# push-to-registry:
# name: Push to DockerHub Registry
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0

# - name: Set up JDK 17
# uses: actions/setup-java@v3
# with:
# java-version: 17
# distribution: "zulu"

# - name: Login to DockerHub
# run: echo ${{ secrets.DOCKERHUB_TOKEN }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin

# - name: Build and push Docker image
# run: |
# docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api .
# docker push ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api

# deploy-production:
# name: Deploy production environment to Azure VM
# runs-on: ubuntu-latest
# needs: push-to-registry
# environment:
# name: azure-production
# url: https://api.mandacarubroker.com.br/docs
# steps:
# - name: Set up Azure CLI
# uses: azure/login@v1
# with:
# creds: ${{ secrets.AZURE_CREDENTIALS }}

# - name: Save SSH private key to file
# run: |
# echo "${{ secrets.SSH_PRIVATE_KEY }}" > private_key
# chmod 400 private_key

# - name: Deploy to Azure VM and run Docker
# run: ssh -o StrictHostKeyChecking=no -i private_key ${{ vars.AZURE_VM_USER }}@${{ vars.AZURE_VM_IP }} 'sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api || true && sudo docker stop mandacarubroker-api || true && docker rm mandacarubroker-api || true && docker run --log-opt labels=applications,environment --restart unless-stopped --name mandacarubroker-api -e MANDACARU_POSTGRES_HOST=${{ secrets.MANDACARU_POSTGRES_HOST }} -e MANDACARU_POSTGRES_PORT=${{ secrets.MANDACARU_POSTGRES_PORT }} -e MANDACARU_POSTGRES_DB=${{ secrets.MANDACARU_POSTGRES_DB }} -e MANDACARU_POSTGRES_USER=${{ secrets.MANDACARU_POSTGRES_USER }} -e MANDACARU_POSTGRES_PASSWORD=${{ secrets.MANDACARU_POSTGRES_PASSWORD }} -e MANDACARU_SQL_INIT_MODE=${{ vars.MANDACARU_SQL_INIT_MODE }} -e MANDACARU_JWT_SECRET=${{ secrets.MANDACARU_JWT_SECRET }} -e MANDACARU_API_PORT=${{ vars.MANDACARU_API_PORT }} -p ${{ vars.MANDACARU_API_PORT }}:8080 -d ${{ secrets.DOCKERHUB_USERNAME }}/mandacarubroker-api'

0 comments on commit 8533bd1

Please sign in to comment.