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 CONTAINER_HOST: unix:///run/user/1000/podman/podman.sock jobs: build-and-deploy: runs-on: edge_pena_monitoring1 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 2223:22 \ --restart unless-stopped \ localhost/gitea-custom:${{ github.sha }} - 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}}'