Zadig 是 KodeRover 公司基于 Kubernetes 自主设计、研发的开源分布式持续交付 (Continuous Delivery) 产品,为开发者提供云原生运行环境,支持开发者本地联调、微服务并行构建和部署、集成测试等。Zadig 内置了面向 Kubernetes、Helm、云主机/物理机、大体量微服务等复杂业务场景的最佳实践,为工程师一键生成自动化工作流 (workflow)。Zadig 不改变现有习惯和流程,几乎兼容所有软件架构,无缝集成 GitHub/GitLab、Jenkins、多家云厂商等,运维成本极低。
基于云原生设计,经过简单配置,系统自动生成工作流,实现多服务高并发执行构建部署测试任务,以解决微服务架构下带来的多服务构建部署效率低下问题。
一套服务配置,分钟级创建多套数据隔离的测试环境。为开发者进行日常调试、为测试人员做集成测试、为产品经理对外 Demo 提供强力支撑。
对于现有的环境无需担心迁移成本,一键托管,轻松浏览、调试环境中的所有服务。
便捷且无侵入的对接已有自动化测试框架,通过 GitHub/GitLab Webhook 自动构建、部署及测试。
通过办公通讯机器人为开发者提供第一时间质量反馈,精准高效。有效落地“测试左移”工程实践,让测试价值得到体现。
开发本地编辑完代码,一键进行本地代码构建,部署到联调环境,无需再陷入复杂且繁琐的工作流程,让本地联调不再成为难事。解放工程师双手,去创造更多产品价值。
以 root 用户登录 Linux 主机执行以下命令:
GitHub 源:
# 下载安装脚本并添加可执行权限
curl -LO https://github.com/koderover/zadig/releases/download/v1.11.0/all_in_one_install_quickstart.sh
chmod +x ./all_in_one_install_quickstart.sh
官方下载源:
# 下载安装脚本并添加可执行权限
curl -L https://download.koderover.com/install?type=all-in-one -o all_in_one_install_quickstart.sh
chmod +x ./all_in_one_install_quickstart.sh
# 服务器 IP 地址,用于访问 Zadig 系统
# 如果您有自己的域名,可以配置您可用的域名 export DOMAIN = <DOMAIN>
# 如果出现端口占用情况,换一个端口再尝试
# all_in_one_install_quickstart.sh 替换成实际下载的脚本
export IP=<IP>
export PORT=< 30000 - 32767 任一端口>
./all_in_one_install_quickstart.sh
以集群管理员身份,执行以下命令:
# 快速体验:
curl -LO https://github.com/koderover/zadig/releases/download/v1.11.0/install_quickstart.sh
chmod +x ./install_quickstart.sh# 生产使用:
curl -LO https://github.com/koderover/zadig/releases/download/v1.11.0/install.sh
chmod +x ./install.sh# 例如:配置 IP 访问地址
export IP=<node external ip>
export PORT=< 30000 - 32767 任一端口>
# 如果出现端口占用情况,换一个端口再尝试
export IP=<IP>
# Kubernetes 集群任一节点的外网 IP 地址,用于访问 Zadig 系统
# 如果您有自己的域名,可以配置您可用的域名 export DOMAIN = <DOMAIN>
export PORT=<30000~32767 任一端口>
# 如果出现端口占用情况,换一个端口再尝试
./install_quickstart.sh
添加 Zadig 官方 Chart 仓库。
helm repo add koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart
创建 namespace。
kubectl create ns zadig
Zadig 支持两种访问方式,一种是提供访问域名,另一种是直接使用 IP + PORT 的方式访问。不同的访问方式需要设置不同的变量,可用参数请参考可选参数列表。
请确保您有已备案的域名。
export NAMESPACE=<Zadig 安装的 NAMESPACE>
export DOMAIN=<DOMAIN>
helm upgrade --install zadig koderover-chart/zadig --namespace ${NAMESPACE} --version=1.11.0 --set endpoint.FQDN=${DOMAIN} \
--set global.extensions.extAuth.extauthzServerRef.namespace=${NAMESPACE} \
--set "dex.config.staticClients[0].redirectURIs[0]=http://${DOMAIN}/api/v1/callback,dex.config.staticClients[0].id=zadig,dex.config.staticClients[0].name=zadig,dex.config.staticClients[0].secret=ZXhhbXBsZS1hcHAtc2VjcmV0"
IP 为 Kubernetes 任一节点的外网可访问 IP。
export NAMESPACE=<Zadig 安装的 NAMESPACE>
export IP=<IP>
export PORT=<PORT>
helm upgrade --install zadig koderover-chart/zadig --namespace ${NAMESPACE} --version=1.11.0 --set endpoint.type=IP \
--set endpoint.IP=${IP} \
--set gloo.gatewayProxies.gatewayProxy.service.httpNodePort=${PORT} \
--set global.extensions.extAuth.extauthzServerRef.namespace=${NAMESPACE} \
--set gloo.gatewayProxies.gatewayProxy.service.type=NodePort \
--set "dex.config.staticClients[0].redirectURIs[0]=http://${IP}:${PORT}/api/v1/callback,dex.config.staticClients[0].id=zadig,dex.config.staticClients[0].name=zadig,dex.config.staticClients[0].secret=ZXhhbXBsZS1hcHAtc2VjcmV0"