Some checks failed
Deploy Gitea Custom / build-and-deploy (push) Has been cancelled
115 lines
3.4 KiB
YAML
115 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=${{ 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}}'
|
|
|
|
|
|
# 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 |