gitea/.gitea/workflows/gitea_deploy.yml
Pasha 5e184cb75a
Some checks failed
Deploy Gitea Custom / build-and-deploy (push) Failing after 3m54s
upd
2025-08-24 21:26:53 +03:00

119 lines
3.4 KiB
YAML

name: Deploy Gitea Custom
run-name: ${{ gitea.actor }} deploying Gitea
on:
push:
branches:
- deploy_custom
env:
GITEA_VERSION: deploy_custom
CONTAINER_NAME: gitea-production
VOLUME_NAME: gitea_data
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker image
run: |
docker build \
--build-arg GITEA_VERSION=${{ env.GITEA_VERSION }} \
-t gitea-custom:${{ github.sha }} \
-t gitea-custom:latest .
- name: Stop existing container
run: |
docker stop ${{ env.CONTAINER_NAME }} || true
- name: Backup current container (optional)
run: |
docker commit ${{ env.CONTAINER_NAME }} gitea-backup:$(date +%Y%m%d_%H%M%S) || true
- name: Remove old container
run: |
docker rm ${{ env.CONTAINER_NAME }} || true
- name: Run new container with data persistence
env:
DB_HOST: ${{ secrets.GITEA_DB_HOST }}
DB_USER: ${{ secrets.GITEA_DB_USER }}
DB_PASS: ${{ secrets.GITEA_DB_PASS }}
DB_NAME: ${{ secrets.GITEA_DB_NAME }}
run: |
docker run -d --name ${{ env.CONTAINER_NAME }} \
-e GITEA__database__DB_TYPE=postgres \
-e GITEA__database__HOST=$DB_HOST \
-e GITEA__database__NAME=$DB_NAME \
-e GITEA__database__USER=$DB_USER \
-e GITEA__database__PASSWD=$DB_PASS \
-e USER_UID=1000 \
-e USER_GID=1000 \
-v ${{ env.VOLUME_NAME }}:/data \
-p 3000:3000 \
-p 2222:22 \
--restart unless-stopped \
gitea-custom:latest
- name: Wait for Gitea to start
run: |
sleep 30
- name: Verify container is running
run: |
docker ps -a
docker logs ${{ env.CONTAINER_NAME }} --tail 20
docker inspect ${{ env.CONTAINER_NAME }} --format='{{.State.Status}}'
- name: Health check
run: |
curl -f http://localhost:3000/api/healthz || exit 1
# name: Deploy Gitea Custom
# run-name: ${{ gitea.actor }} build image and push to container registry
# on:
# push:
# branches:
# - deploy_custom
# jobs:
# build-and-deploy:
# runs-on: [ubuntu-latest] #
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Build image with podman
# run: |
# podman build -t gitea-custom:latest .
# - name: Run new container
# env:
# DB_HOST: ${{ secrets.GITEA_DB_HOST }}
# DB_USER: ${{ secrets.GITEA_DB_USER }}
# DB_PASS: ${{ secrets.GITEA_DB_PASS }}
# DB_NAME: ${{ secrets.GITEA_DB_NAME }}
# #todo mb more args
# run: |
# podman stop gitea-custom || true
# podman rm gitea-custom || true
# podman run -d --name gitea-custom \
# -e GITEA__database__DB_TYPE=postgres \
# -e GITEA__database__HOST=$DB_HOST \
# -e GITEA__database__NAME=$DB_NAME \
# -e GITEA__database__USER=$DB_USER \
# -e GITEA__database__PASSWD=$DB_PASS \
# -p 3001:3000 \
# --restart unless-stopped \
# gitea-custom:latest