gitea/.gitea/workflows/gitea_deploy.yml
Pasha d08346707a
Some checks failed
Deploy Gitea Custom / build-and-deploy (push) Failing after 1m13s
upd
2025-08-25 11:05:33 +03:00

146 lines
4.7 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
STORAGE_DRIVER: vfs
jobs:
build-and-deploy:
runs-on: ubuntu-latest #
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Podman with runc
run: |
sudo apt-get update
sudo apt-get install -y runc containerd podman
runc --version
podman --version
- name: Create volume if not exists
run: |
podman volume exists $VOLUME_NAME || podman volume create $VOLUME_NAME
- name: Reset Podman storage
run: |
sudo podman system reset -f
- name: Build container image
run: |
podman --storage-driver=$STORAGE_DRIVER \
--runtime=runc \
build \
--build-arg GITEA_VERSION=${{ env.GITEA_VERSION }} \
-t gitea-custom:${{ github.sha }} \
-t gitea-custom:latest .
- name: Stop existing container
run: |
podman stop ${{ env.CONTAINER_NAME }} || true
- name: Backup current container (optional)
run: |
podman commit ${{ env.CONTAINER_NAME }} gitea-backup:$(date +%Y%m%d_%H%M%S) || true
- name: Remove old container
run: |
podman rm ${{ env.CONTAINER_NAME }} || true
- name: Run new container with data persistence
run: |
# todo надо добавить по надобности другие переменные для гити
podman run -d --name ${{ env.CONTAINER_NAME }} \
-e GITEA__database__DB_TYPE=postgres \
-e GITEA__database__HOST=${{ secrets.GITEA_DB_HOST }} \
-e GITEA__database__NAME=${{ secrets.GITEA_DB_NAME }} \
-e GITEA__database__USER=${{ secrets.GITEA_DB_USER }} \
-e GITEA__database__PASSWD=${{ secrets.GITEA_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: |
podman ps -a
podman logs ${{ env.CONTAINER_NAME }} --tail 20
podman inspect ${{ env.CONTAINER_NAME }} --format='{{.State.Status}}'
# 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: |
# # todo надо добавить по надобности другие переменные для гити
# docker run -d --name ${{ env.CONTAINER_NAME }} \
# -e GITEA__database__DB_TYPE=postgres \
# -e GITEA__database__HOST=${{ secrets.GITEA_DB_HOST }} \
# -e GITEA__database__NAME=${{ secrets.GITEA_DB_NAME }} \
# -e GITEA__database__USER=${{ secrets.GITEA_DB_USER }} \
# -e GITEA__database__PASSWD=${{ secrets.GITEA_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}}'