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: podman-host #2 steps: - name: Check out repository code uses: http://gitea.pena:3000/PenaDevops/actions.git/checkout@v1 - name: Build container image run: | podman build ` --build-arg GITEA_VERSION=${{ env.GITEA_VERSION }} ` -t gitea-custom:${{ github.sha }} . # - 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 ` localhost/gitea-custom:${{ github.sha }} - name: Wait for Gitea to start run: | Start-Sleep -Seconds 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}}'