Restaurar carpeta .gitea para workflows
This commit is contained in:
53
.gitea/workflows/build-and-deploy.yml
Normal file
53
.gitea/workflows/build-and-deploy.yml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
name: build-and-deploy
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
#───────────────── build & push imagen única ─────────────────
|
||||||
|
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 and push snatchgame
|
||||||
|
run: |
|
||||||
|
docker build -t $REG/snatchgame:${{ github.sha }} -t $REG/snatchgame:latest .
|
||||||
|
docker push $REG/snatchgame:${{ github.sha }}
|
||||||
|
docker push $REG/snatchgame:latest
|
||||||
|
|
||||||
|
#───────────────── deploy ─────────────────
|
||||||
|
deploy:
|
||||||
|
needs: build
|
||||||
|
runs-on: docker
|
||||||
|
env:
|
||||||
|
REG: gitea.nucleoriofrio.com/nucleo000
|
||||||
|
steps:
|
||||||
|
- name: Login to registry
|
||||||
|
run: docker login gitea.nucleoriofrio.com -u nucleo000 -p 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
||||||
|
|
||||||
|
- name: Stop existing container
|
||||||
|
run: docker stop snatchgame || true
|
||||||
|
|
||||||
|
- name: Remove existing container
|
||||||
|
run: docker rm snatchgame || true
|
||||||
|
|
||||||
|
- name: Pull latest image
|
||||||
|
run: docker pull $REG/snatchgame:latest
|
||||||
|
|
||||||
|
- name: Run new container
|
||||||
|
run: |
|
||||||
|
docker run -d \
|
||||||
|
--name snatchgame \
|
||||||
|
--restart unless-stopped \
|
||||||
|
--network principal \
|
||||||
|
$REG/snatchgame:latest
|
||||||
47
.gitea/workflows/deploy-gcloud.yml
Normal file
47
.gitea/workflows/deploy-gcloud.yml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
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 -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"
|
||||||
Reference in New Issue
Block a user