Files
plantillas-proyectos/.gitea/workflows/build.yml

74 lines
2.2 KiB
YAML

name: Build Producción & Push a Harbor
on:
push:
branches:
- main
- development
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout código
uses: actions/checkout@v4
- name: Login a Harbor
run: |
echo '${{ secrets.HARBOR_PASSWORD }}' | docker login \
dev.aduanasoft.com \
-u '${{ secrets.HARBOR_USERNAME }}' \
--password-stdin
# ------------------------
# Backend
# ------------------------
- name: Build backend
run: |
docker build \
-t dev.aduanasoft.com/anexo76/backend:latest \
-f ./backend/Dockerfile \
./backend
# ------------------------
# Frontend
# ------------------------
- name: Build frontend
run: |
docker build \
--build-arg VITE_API_URL=https://anexo76-dev.aduanasoft.com/api/ \
--build-arg VITE_KEYCLOAK_URL=https://anexo76-dev.aduanasoft.com/kcauth/ \
--build-arg INTERNAL_API_URL=http://backend:3467/api/ \
-t dev.aduanasoft.com/anexo76/frontend:latest \
-f ./frontend/Dockerfile.prod \
./frontend
# ------------------------
# Push imágenes
# ------------------------
- name: Push backend
run: |
docker push dev.aduanasoft.com/anexo76/backend:latest
- name: Push frontend
run: |
docker push dev.aduanasoft.com/anexo76/frontend:latest
# ------------------------
# Deploy a Development
# ------------------------
- name: Deploy a servidor de desarrollo
if: github.ref == 'refs/heads/development'
run: |
eval $(ssh-agent -s)
ssh-add <(echo "${{ secrets.DEV_SERVER_SSH_KEY }}")
ssh -o StrictHostKeyChecking=yes \
${{ secrets.DEV_SERVER_USER }}@${{ secrets.DEV_SERVER_HOST }} \
"cd /opt/anexo76 && \
echo \${{ secrets.HARBOR_PASSWORD }} | docker login dev.aduanasoft.com -u \${{ secrets.HARBOR_USERNAME }} --password-stdin && \
docker compose pull && \
docker compose up -d && \
docker image prune -f"
ssh-agent -k