diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index cffe7ca..33f6aa3 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -13,7 +13,6 @@ jobs: env: PATH: /usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/snap/bin DOCKER_HOST: unix:///var/run/docker.sock - BUILDX_CONFIG: /tmp/buildx steps: - name: Checkout code @@ -24,73 +23,45 @@ jobs: uname -a whoami - - name: Set up Docker Context for Buildx - id: buildx-context - run: | - export DOCKER_HOST=tcp://docker:2376/ - export DOCKER_TLS_VERIFY=0 - docker context rm builders || true - docker context create builders - - name: Verify Docker run: docker --version - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin - - - name: Log in to Harbor Registry + - name: Log in to Docker Registry run: | echo "${{ secrets.HARBOR_ROBOT_TOKEN }}" | docker login registry.i80.dk -u "robot\$gitserver" --password-stdin - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin - name: Build and push Docker image - uses: docker/build-push-action@v5 - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin - with: - context: . - file: ./Dockerfile - push: true - tags: | - registry.i80.dk/gitea/web-erika:latest - registry.i80.dk/gitea/web-erika:${{ github.sha }} - build-args: | - BUILD_VERSION=${{ github.ref_name }}-${{ github.sha }} - GIT_COMMIT=${{ github.sha }} - BUILD_TIME=${{ github.event.head_commit.timestamp }} - - - name: Validate Nomad job run: | - echo "Validating Nomad job..." - nomad job validate erika.nomad - env: - NOMAD_ADDR: "https://nomad.i80.dk:4646" + docker build \ + --build-arg BUILD_VERSION=${{ github.ref_name }}-${{ github.sha }} \ + --build-arg GIT_COMMIT=${{ github.sha }} \ + --build-arg BUILD_TIME=${{ github.event.head_commit.timestamp }} \ + -t registry.i80.dk/gitea/web-erika:latest \ + -f ./Dockerfile \ + . + docker push registry.i80.dk/gitea/web-erika:latest - name: Deploy to Nomad run: | - echo "Deploying to Nomad..." + nomad job validate erika.nomad nomad job run erika.nomad env: NOMAD_ADDR: "https://nomad.i80.dk:4646" - name: Wait for deployment run: | - sleep 10 nomad job status web-erika + echo "=== Allocation Details ===" nomad job allocs web-erika + echo "=== Logs ===" + for alloc in $(nomad job allocs web-erika -short | tail -n +2 | awk '{print $1}'); do + nomad alloc logs $alloc || echo "No logs for $alloc" + done env: NOMAD_ADDR: "https://nomad.i80.dk:4646" - - name: Health check - run: | - sleep 20 - curl -f https://erika.i80.dk/health || echo "Not yet available" - - name: Notify deployment status run: | - echo "Deployment complete" - echo "Site: https://erika.i80.dk" + echo "Deployment completed!" + echo "Service: https://erika.i80.dk" echo "Health: https://erika.i80.dk/health" diff --git a/erika.nomad b/erika.nomad index 18d2e76..149ada2 100644 --- a/erika.nomad +++ b/erika.nomad @@ -71,6 +71,10 @@ job "web-erika" { image = "registry.i80.dk/gitea/web-erika:latest" ports = ["http"] force_pull = true + auth { + username = "robot$gitserver" + password = "${HARBOR_ROBOT_TOKEN}" + } } restart { @@ -80,6 +84,14 @@ job "web-erika" { mode = "fail" } + template { + data = <