diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index ab61bb2..29f2a9f 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -46,6 +46,7 @@ jobs: images: liamsgit.dev/LiamPietralla/code-snippets tags: | type=raw,value=latest + type=sha,value=${{ github.sha }} - name: Login to Registry uses: docker/login-action@v3 @@ -98,5 +99,16 @@ jobs: ansible-playbook infra/ansible/deploy-playbook.yml --private-key private.key --inventory hosts.ini env: APP_HOST: ${{ secrets.APP_HOST }} - REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} - REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} \ No newline at end of file + REGISTRY_USERNAME: ${{ secrets.DOCKER_USERNAME }} + REGISTRY_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + + # - name: Setup Nomad + # uses: hashicorp/setup-nomad@main + # with: + # nomad_version: '1.10.5' + + # - name: Deploy Job to Nomad + # run: | + # nomad job run -var="version=${{ github.sha }}" infra/nomad/code-snippets.nomad.hcl + # env: + # NOMAD_ADDR: ${{ vars.NOMAD_ADDR }} diff --git a/infra/nomad/code-snippets.nomad.hcl b/infra/nomad/code-snippets.nomad.hcl new file mode 100644 index 0000000..93b4dab --- /dev/null +++ b/infra/nomad/code-snippets.nomad.hcl @@ -0,0 +1,46 @@ +variable "version" { +type = string +default = "latest" +} + +job "code-snippets" { + datacenters = ["dc1"] + type = "service" + + group "code-snippets" { + count = 1 + + network { + port "http" { + to = 80 + } + } + + task "code-snippets" { + driver = "docker" + + config { + image = "liamsgit.dev/LiamPietralla/code-snippets:${var.version}" + force_pull = true + ports = ["http"] + } + + service { + name = "code-snippets" + port = "http" + tags = [ + "traefik.enable=true", + "traefik.http.routers.code-snippets.rule=PathPrefix(`/`)", + "traefik.http.routers.code-snippets.entrypoints=p5003" + ] + + check { + type = "http" + path = "/" + interval = "10s" + timeout = "2s" + } + } + } + } +} \ No newline at end of file