loq9/drone-nomadDrone插件,用于通过Nomad实现自动化部署。
drone-nomad是一个专为Drone CI/CD平台设计的插件,旨在简化应用程序到Nomad集群的部署流程。通过该插件,用户可以在Drone流水线中集成Nomad部署步骤,实现自动化部署、配置管理及部署状态监控。
${VAR_NAME} 语法在Nomad模板中使用适用于使用Drone作为CI/CD工具,且需要将应用程序部署到HashiCorp Nomad集群的场景。典型应用包括:
通过以下命令构建插件二进制文件:
consoleexport GOOS=linux export GOARCH=amd64 export CGO_ENABLED=0 export GO111MODULE=on go build -v -a -tags netgo -o build/linux/amd64/drone-nomad
使用以下命令构建Docker镜像:
consoledocker build \ --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \ --label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \ --file docker/Dockerfile.linux.amd64 --tag plugins/nomad .
consoledocker run --rm \ -v $(pwd):$(pwd) \ -w $(pwd) \ plugins/drone-nomad
Nomad模板中可使用 ${VAR_NAME} 语法引用以下变量,支持通过环境变量或参数配置:
| 环境变量 | 参数 | 描述 |
|---|---|---|
| PLUGIN_ADDR | Nomad地址 | |
| PLUGIN_CONSUL_TOKEN | Consul令牌 | |
| PLUGIN_TOKEN | Nomad令牌 | |
| PLUGIN_REGION | Nomad区域 | |
| PLUGIN_NAMESPACE | Nomad命名空间 | |
| PLUGIN_TEMPLATE | Nomad模板 | |
| PLUGIN_PRESERVE_COUNTS | 部署时保留任务计数(布尔值) | |
| PLUGIN_WATCH_DEPLOYMENT | 触发部署并等待部署完成(布尔值) | |
| PLUGIN_WATCH_DEPLOYMENT_TIMEOUT | 部署监控超时时间,默认"5m"(持续时间字符串) | |
| PLUGIN_TLS_CA_CERT | tls_ca_cert | Nomad TLS CA证书文件 |
| PLUGIN_TLS_CA_PATH | tls_ca_path | Nomad TLS CA证书文件路径 |
| PLUGIN_TLS_CA_CERT_PEM | tls_ca_cert_pem | Nomad TLS CA证书PEM内容 |
| PLUGIN_TLS_CLIENT_CERT | tls_client_cert | Nomad TLS客户端证书 |
| PLUGIN_TLS_CLIENT_CERT_PEM | tls_client_cert_pem | Nomad TLS客户端证书PEM内容 |
| PLUGIN_TLS_CLIENT_KEY | tls_client_key | Nomad TLS客户端私钥 |
| PLUGIN_TLS_CLIENT_KEY_PEM | tls_client_key_pem | Nomad TLS客户端私钥PEM内容 |
| PLUGIN_TLS_SERVERNAME | tls_servername | Nomad TLS服务器名称 |
| PLUGIN_TLS_INSECURE | tls_insecure | Nomad TLS不安全模式(布尔值) |
| DRONE_REPO_OWNER | 代码仓库所有者 | |
| DRONE_REPO_NAME | 代码仓库名称 | |
| DRONE_COMMIT_SHA | Git提交SHA | |
| DRONE_COMMIT_REF | Git提交引用 | |
| DRONE_COMMIT_BRANCH | Git提交分支 | |
| DRONE_COMMIT_AUTHOR | Git提交作者 | |
| DRONE_COMMIT_MESSAGE | 提交消息 | |
| DRONE_BUILD_EVENT | 构建事件 | |
| DRONE_BUILD_NUMBER | 构建编号 | |
| DRONE_BUILD_PARENT | 父构建编号 | |
| DRONE_BUILD_STATUS | 构建状态 | |
| DRONE_BUILD_LINK | 构建链接 | |
| DRONE_BUILD_STARTED | 构建开始时间 | |
| DRONE_BUILD_CREATED | 构建创建时间 | |
| DRONE_TAG | 构建标签 | |
| DRONE_JOB_STARTED | 任务开始时间 |

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务