Skip to content

Commit 6c3517c

Browse files
authored
Merge pull request #908 from sennetconsortium/maxsibilla/issue-902
Maxsibilla/issue 902
2 parents 14b7f35 + 7e2fd47 commit 6c3517c

File tree

3 files changed

+84
-1
lines changed

3 files changed

+84
-1
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Build and Deploy Docker Image on Dev
2+
3+
on:
4+
push:
5+
branches:
6+
- dev-integrate
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
build-and-push:
13+
runs-on: ubuntu-24.04
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
18+
- name: Login to Docker Hub
19+
uses: docker/login-action@v3
20+
with:
21+
username: ${{ secrets.DOCKER_USERNAME }}
22+
password: ${{ secrets.DOCKER_PASSWORD }}
23+
24+
- name: Create $ENTITY_API_VERSION
25+
run: |
26+
export ENTITY_API_VERSION=$(tr -d "\n\r" < ../VERSION | xargs)
27+
echo "ENTITY_API_VERSION=$ENTITY_API_VERSION" >> $GITHUB_ENV
28+
working-directory: ./docker
29+
30+
- name: Make build script executable
31+
run: chmod +x ./docker-development.sh
32+
working-directory: ./docker
33+
34+
- name: Run the Docker build shell script
35+
run: ./docker-development.sh build
36+
working-directory: ./docker
37+
38+
- name: Tag the Docker Image
39+
# Alternatively we could use ${{ github.sha }} instead of latest
40+
run: docker image tag sennet/entity-api:$ENTITY_API_VERSION sennet/entity-api-dev:latest
41+
working-directory: ./docker
42+
43+
- name: Push the Docker image
44+
run: docker push sennet/entity-api-dev:latest
45+
working-directory: ./docker
46+
47+
deploy:
48+
runs-on: ubuntu-latest
49+
needs: build-and-push
50+
steps:
51+
- name: Whitelist GitHub Actions IP
52+
uses: bbharathkumarreddy/[email protected]
53+
with:
54+
security-group-id: sg-0ddfcbe0a83a5266c
55+
action: whitelist
56+
port: 22
57+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
58+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
59+
aws-region: us-east-1
60+
- name: Deploy to Server via SSH
61+
uses: appleboy/ssh-action@v1
62+
with:
63+
host: '${{ secrets.REMOTE_HOST }}'
64+
username: ${{ secrets.REMOTE_USER }}
65+
key: ${{ secrets.SSH_PRIVATE_KEY }}
66+
use_insecure_cipher: true
67+
script: |
68+
# Change to codcc user on server
69+
sudo su - codcc -c "cd /opt/sennet/entity-api/docker/; git pull; docker pull sennet/entity-api-dev:latest; ./docker-development.sh down; ./docker-development.sh start;"
70+
- name: Remove GitHub Actions IP
71+
uses: bbharathkumarreddy/[email protected]
72+
if: always()
73+
with:
74+
security-group-id: sg-0ddfcbe0a83a5266c
75+
action: remove
76+
port: 22
77+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
78+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
79+
aws-region: us-east-1
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
services:
2+
entity-api:
3+
# Use the published image and tag from DockerHub
4+
image: sennet/entity-api-dev:latest

docker/docker-development.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ else
108108

109109
docker compose -f docker-compose.yml -f docker-compose.development.yml -p entity-api build
110110
elif [ "$1" = "start" ]; then
111-
docker compose -f docker-compose.yml -f docker-compose.development.yml -p entity-api up -d
111+
docker compose -f docker-compose.yml -f docker-compose.deployment.dev.yml -p entity-api up -d
112112
elif [ "$1" = "stop" ]; then
113113
docker compose -f docker-compose.yml -f docker-compose.development.yml -p entity-api stop
114114
elif [ "$1" = "down" ]; then

0 commit comments

Comments
 (0)