Los workflows ahora usan deploy/Dockerfile correctamente y referencian el script de inicio desde la carpeta deploy.
47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
name: deploy-to-gcloud
|
|
|
|
on:
|
|
push:
|
|
branches: [ production ] # Solo desplegar cuando se pushee a rama production
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: docker
|
|
env:
|
|
REG: gitea.nucleoriofrio.com/nucleo000
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
# Build y push imagen (igual que antes)
|
|
- uses: docker/setup-buildx-action@v2
|
|
- uses: docker/login-action@v2
|
|
with:
|
|
registry: gitea.nucleoriofrio.com
|
|
username: nucleo000
|
|
password: 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
|
|
|
- name: Build and push snatchgame
|
|
run: |
|
|
docker build -f deploy/Dockerfile -t $REG/snatchgame:latest .
|
|
docker push $REG/snatchgame:latest
|
|
|
|
# Deploy a Google Cloud VM
|
|
- name: Deploy to Google Cloud VM
|
|
run: |
|
|
# Instalar gcloud CLI si no está disponible
|
|
if ! command -v gcloud &> /dev/null; then
|
|
curl https://sdk.cloud.google.com | bash
|
|
exec -l $SHELL
|
|
source /root/google-cloud-sdk/path.bash.inc
|
|
fi
|
|
|
|
# Configurar autenticación (necesitarás configurar service account)
|
|
# echo '${{ secrets.GCLOUD_SERVICE_KEY }}' | gcloud auth activate-service-account --key-file=-
|
|
# gcloud config set project tu-proyecto-gcloud
|
|
|
|
# Ejecutar deployment en la VM
|
|
gcloud compute ssh snatchgame-vm \
|
|
--zone=us-central1-a \
|
|
--command="sudo /opt/deploy-snatchgame.sh" \
|
|
|| echo "Deploy failed - VM might not exist yet" |