主机服务
本文介绍主机项目中的服务相关操作。
点击添加服务按钮 -> 输入服务名称 -> 填写构建配置、部署配置及探活配置后,保存即可新建主机服务。
构建配置
配置服务构建所需的环境、代码等信息,定义服务的构建打包过程。
构建环境
配置构建过程运行时的环境,细节请阅读构建环境。
代码信息
配置服务构建时需要的相关代码库,细节可阅读代码信息。
构建变量
包括系统内置构建变量和用户自定义构建变量,可在构建脚本中直接使用,细节请阅读构建变量。
通用构建脚本
在通用构建脚本中声明代码的构建过程和实现,细节请阅读通用构建脚本。
高级配置
包括构建超时配置、缓存配置和资源配置,细节请阅读高级配置。
更多构建步骤
包括镜像构建和二进制包存储,细节请阅读更多构建步骤。
部署配置
配置部署方式及部署脚本,定义服务的部署过程。
本地直连部署
在 Zadig 中执行部署脚本,利用部署工具(比如:Ansible)将服务部署到目标主机上。需要确保部署工具就绪,Zadig 系统和目标部署主机的网络连通。
SSH Agent 远程部署
安全登录到目标机器上执行部署操作。需要提前在系统中配置好主机资源,可参考主机管理。
内置部署变量
除了可使用构建变量中的变量,还包括以下变量:
<AGENT_NAME>_PK
:通过 SSH Agent 远程登录主机使用的私钥信息,其中 AGENT_NAME 为 SSH Agent 名称。使用下图例中的主机作为 SSH Agent,则部署脚本中使用 $zadig_PK 即可获得该主机服务器的私钥信息。<AGENT_NAME>_USERNAME
:通过 SSH Agent 远程登录到主机的用户名称,下图例中即为 $zadig_USERNAME。<AGENT_NAME>_IP
:SSH Agent 目标服务器的主机地址(不包含端口),下图例中即为 $zadig_IP。<AGENT_NAME>_PORT
:SSH Agent 目标服务器的主机地址中的端口,下图例中即为 $zadig_PORT。
<ENV>_HOST_IPs
:获得指定环境所关联的所有主机 IP,下图例中,使用 $dev_HOST_IPs 即可获得 dev 环境所关联的所有主机 IP 信息。<ENV>_HOST_NAMEs
:获取指定环境所关联的所有主机名称,下图例中即为 $dev_HOST_NAMEs。
<HOST_NAME>_PK
:HOST_NAME 为具体的主机名称,通过<HOST_NAME>_PK
获得对应主机的私钥信息,下图例中即为 $dev_PK。<HOST_NAME>_USERNAME
:HOST_NAME 为具体的主机名称,通过<HOST_NAME>_USERNAME
获得对应主机的用户名信息,下图例中即为 $dev_USERNAME。<HOST_NAME>_IP
:HOST_NAME 为具体的主机名称,通过<HOST_NAME>_IP
获得对应主机的地址信息(不含端口),下图例中即为 $dev_IP。<HOST_NAME>_PORT
:HOST_NAME 为具体的主机名称,通过<HOST_NAME>_PORT
获得对应主机地址中的端口信息,下图例中即为 $dev_PORT。
ARTIFACT
:部署的交付物包,通过该变量可获取交付物包。- 使用构建部署工作流部署服务时,交付物包的实体为更多构建步骤中增加的二进制包存储,即 $PKG_FILE 文件。
- 使用交付物部署工作流部署服务时,交付物包的实体为运行工作流时从对象存储中选择的资源。
部署脚本
部署脚本和通用构建脚本共享存储卷,在构建脚本中生成的包可直接在部署脚本中使用。可在部署脚本中使用构建变量和内置部署变量。
探活配置
服务部署成功后,按照一定规则对服务进行探活检测。
字段说明:
协议
:支持 HTTP、HTTPS 和 TCP。路径
:HTTP/HTTPS 请求的健康检查路径。端口
:支持 1 - 65535 端口。响应超时
:超出设定时间,判断为不健康。高级设置
:探测间隔
:两次探活请求的间隔时间,默认 2s。健康阈值
:从不健康变为健康的连续探测次数。不健康阈值
:从健康变为不健康的连续探测次数。
策略配置
点击策略
,设置部署服务的超时时间以及交付物命名规则,细节可阅读:策略配置。
更新服务
- 选择需要修改的服务,修改服务配置,点击
保存
-> 点击更新环境
-> 在弹框中选择需要更新的环境。
删除服务
- 点击服务右侧的删除按钮将服务删除。删除服务后,若需将服务从环境中也删除,点击
更新环境
即可。