Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f01d64f

Browse files
Update deploy.yml
1 parent 9f70a93 commit f01d64f

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

.github/workflows/deploy.yml

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: CI/CD Build and Deploy PostgreSQL Docker Image
1+
name: CI/CD for PostgreSQL Docker
22

33
on:
44
workflow_dispatch:
@@ -7,24 +7,30 @@ on:
77
description: 'Environment to deploy (Development/Production)'
88
required: true
99
default: 'development'
10+
postgres_version:
11+
description: 'Postgres Version'
12+
required: true
13+
default: '17'
1014

1115
jobs:
12-
build-push-deploy-postgres:
13-
name: Build, Push, and Deploy PostgreSQL Docker Image
16+
build-and-push:
17+
name: Build and Push Docker Images for PostgreSQL
1418
runs-on: ubuntu-latest
1519

1620
steps:
17-
# Checkout Postgres Docker repository
21+
# Checkout Postgres Docker repository into a specific directory
1822
- name: Checkout Postgres Repository
1923
uses: actions/checkout@v3
2024
with:
2125
repository: trplgit/postgres
2226
token: ${{ secrets.GITHUB_TOKEN }}
23-
path: postgres
27+
path: postgres # Checkout into the 'postgres' directory
2428

2529
# Set up Docker buildx
2630
- name: Set up Docker
2731
uses: docker/setup-buildx-action@v2
32+
with:
33+
version: latest
2834

2935
# Log in to Azure Container Registry
3036
- name: Log in to Azure Container Registry
@@ -34,12 +40,18 @@ jobs:
3440
username: ${{ vars.ACR_USERNAME }}
3541
password: ${{ secrets.ACR_PASSWORD }}
3642

37-
# Build and Push PostgreSQL Docker Image
38-
- name: Build and Push PostgreSQL Docker Image
43+
# Build and Push Postgres Docker Image for PostgreSQL 17
44+
- name: Build and Push Postgres Docker Image
3945
run: |
4046
docker build -f ./postgres/17/alpine3.21/Dockerfile -t ${{ vars.ACR_NAME }}.azurecr.io/${{ inputs.environment }}/trpl-postgres-docker:v17 ./postgres/17/alpine3.21
4147
docker push ${{ vars.ACR_NAME }}.azurecr.io/${{ inputs.environment }}/trpl-postgres-docker:v17
4248
49+
deploy:
50+
name: Deploy PostgreSQL to Linux VM
51+
runs-on: ubuntu-latest
52+
needs: build-and-push
53+
54+
steps:
4355
# Install OpenVPN
4456
- name: Install OpenVPN
4557
run: sudo apt-get install -y openvpn
@@ -66,7 +78,7 @@ jobs:
6678
run: |
6779
ifconfig | grep tun || (echo "VPN connection failed" && exit 1)
6880
69-
# Add user to Docker group
81+
# Add user to Docker group to allow Docker commands without sudo
7082
- name: Add user to Docker group
7183
run: |
7284
sudo usermod -aG docker $USER
@@ -77,8 +89,8 @@ jobs:
7789
run: |
7890
echo "${{ secrets.LINUX_VM_PASSWORD_DEVELOPMENT }}" | sudo -S docker network create odoo-postgres-network || echo "Network already exists"
7991
80-
# Deploy PostgreSQL Docker container to VM
81-
- name: Deploy PostgreSQL Docker Container to VM
92+
# Deploy Postgres Docker container to VM
93+
- name: Deploy Postgres Docker Container to VM
8294
uses: appleboy/[email protected]
8395
with:
8496
host: ${{ vars.LINUX_VM_HOST_DEVELOPMENT }}
@@ -91,7 +103,7 @@ jobs:
91103
echo "${{ secrets.LINUX_VM_PASSWORD_DEVELOPMENT }}" | sudo -S docker stop postgres-container || true
92104
echo "${{ secrets.LINUX_VM_PASSWORD_DEVELOPMENT }}" | sudo -S docker rm postgres-container || true
93105
94-
# Run PostgreSQL container
106+
# Run Postgres container (PostgreSQL 17)
95107
echo "${{ secrets.LINUX_VM_PASSWORD_DEVELOPMENT }}" | sudo -S docker run -d --restart always --name postgres-container --network=odoo-postgres-network -e POSTGRES_PASSWORD=mysecretpassword -p 5433:5433 ${{ vars.ACR_NAME }}.azurecr.io/${{ inputs.environment }}/trpl-postgres-docker:v17
96108
97109
# Cleanup VPN credentials

0 commit comments

Comments
 (0)