diff --git a/Jenkinsfile b/Jenkinsfile index 3df2e89..87a6896 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -24,5 +24,13 @@ pipeline { } } } + + stage('Deploy to Nomad by running jobspec.hcl') { + steps { + script { + sh 'nomad job run jobspec.hcl -address=http://nomad.service.consul:4646' + } + } + } } } diff --git a/jobspec.hcl b/jobspec.hcl new file mode 100644 index 0000000..d558e91 --- /dev/null +++ b/jobspec.hcl @@ -0,0 +1,44 @@ +job "homepage" { + datacenters = ["dc1"] + + group "web" { + count = 1 + + network { + port "http" { + to = 3000 + } + } + + task "homepage" { + driver = "docker" + + config { + image = "docker-registry.service.consul:4124/efstajas/homepage:latest" + ports = ["http"] + } + + service { + name = "homepage-new" + port = "http" + + tags = [ + "traefik.enable=true", + "traefik.http.routers.homepage-new.rule=Host(`new.jason-e.dev`) || Host(`jason-e.dev`)", + "traefik.http.routers.homepage-new.tls=true", + "traefik.http.routers.homepage-new.tls.certresolver=myresolver", + ] + } + + resources { + cpu = 200 + memory = 200 + } + + constraint { + attribute = "${attr.cpu.arch}" + value = "arm64" + } + } + } +}