53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
name: build-and-deploy
|
||
|
||
on:
|
||
push:
|
||
branches: [ master ]
|
||
|
||
jobs:
|
||
#───────────────── build & push ─────────────────
|
||
build:
|
||
runs-on: docker
|
||
env:
|
||
REG: gitea.nucleoriofrio.com/nucleo000
|
||
steps:
|
||
- uses: actions/checkout@v3
|
||
- uses: docker/setup-buildx-action@v2
|
||
- uses: docker/login-action@v2
|
||
with:
|
||
registry: gitea.nucleoriofrio.com
|
||
username: nucleo000
|
||
password: 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
||
|
||
- name: Build+push amigos-app
|
||
run: |
|
||
docker build -t $REG/amigos-app:${{ github.sha }} -t $REG/amigos-app:latest .
|
||
docker push $REG/amigos-app:${{ github.sha }}
|
||
docker push $REG/amigos-app:latest
|
||
|
||
#───────────────── deploy ─────────────────
|
||
deploy:
|
||
needs: build
|
||
runs-on: docker
|
||
env:
|
||
REG: gitea.nucleoriofrio.com/nucleo000
|
||
steps:
|
||
- uses: actions/checkout@v3
|
||
- name: Login to registry
|
||
run: docker login gitea.nucleoriofrio.com -u nucleo000 -p 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
||
|
||
- name: Info about MongoDB
|
||
run: |
|
||
echo "ℹ️ MongoDB will be deployed with default credentials"
|
||
echo " Database: testdb"
|
||
echo " Username: admin"
|
||
echo " Password: MongoPass2024!"
|
||
|
||
- name: Pull fresh images used in compose
|
||
run: docker compose pull
|
||
|
||
- name: Clean up stack
|
||
run: docker compose --project-name amigos-app down
|
||
|
||
- name: Update stack
|
||
run: docker compose --project-name amigos-app up -d --remove-orphans --wait |