job "${APP_NAME}-${CI_COMMIT_BRANCH}-job" { datacenters = ["dc1"] type = "service" group "${APP_NAME}-${CI_COMMIT_BRANCH}-group" { count = 1 restart { attempts = 10 interval = "5m" delay = "25s" mode = "delay" } task "${APP_NAME}-${CI_COMMIT_BRANCH}-task" { driver = "docker" resources { cpu = 50 # 50 MHz memory = 100 # 100 MB } env = { "API_ENV" : "prod" "ST_CONSUL_datacenter" = "dc1" "APP_NAME" = "${APP_NAME}" "CI_COMMIT_BRANCH" = "${CI_COMMIT_BRANCH}" } config { image = "${CURRENT_IMAGE_URL}" network_mode = "prod-overlay" # No port map required. volumes = ["/opt/settings/server.properties:/opt/settings/server.properties"] auth { server_address = "${CI_REGISTRY}" username = "${CI_REGISTRY_USER}" password = "${CI_REGISTRY_PASSWORD}" } } constraint { attribute = "${meta.cached_binaries}" set_contains = "api" } service { name = "${APP_NAME}" tags = ["${CI_COMMIT_BRANCH}"] #使用配置的 网络ip 注册服务的访问路径和端口 address_mode = "driver" port = "8080" check { //检测的 方式、ip 、端口 type = "http" address_mode = "driver" port = "8080" path = "/health" interval = "10s" timeout = "1s" } } } } }