自定义节点
视频内容请参考此文档。
功能介绍
在实际的开发项目中,所涉及的开发环境可能是多种多样的。当默认节点的构建环境无法承载项目的运行要求时,例如需使用 macOS Xcode 构建 iOS 应用,那么就可以通过接入自定义类型节点(物理机/虚拟机/容器等)运行特定任务。
接入构建节点时需指定接入的构建节点池,构建节点不能游离节点池而单独存在。构建节点池分为团队与项目两种类型。
注意:
使用自定义节点相当于将您的构建机纳入 CODING 的管控范围。为了保障您的机器和内网的安全,请务必妥善保管您的用户名和密码,并建议开启 CODING 登录二次认证。在必要时,您还需要制定构建机内网的安全策略,以确保您的机器和内网不受到未经授权的访问和攻击。
接入节点
接入自定义节点的过程本质上是在节点中运行 Worker
服务,点击了解 Worker 常用命令。
目前支持 macOS、Windows、Linux 环境接入至构建计划节点池。
推荐配置
- CPU 8 核或以上
- 内存 16 GB 或以上
环境依赖
Python 3.6, Python 3.7, Python 3.8, Python 3.9
点击访问项目地址进行下载。
Git ≥ 2.8
点击访问项目地址进行下载。
Java 8, Java 11
点击访问项目地址进行下载。
Jenkins
**Windows:** 进入 `C:/` 目录,创建 `codingci/tools` 目录。在其中下载 jenkins.war 、jenkins_home.zip 文件,并在 `tools/` 目录解压 jenkins_home.zip 文件。
**Linux:** 进入 `/root/` 目录,创建 `codingci/tools` 目录。在其中下载 jenkins.war 、jenkins_home.zip 文件,并在 `tools/` 目录解压 jenkins_home.zip 文件。
**macOS:** 进入 `~/` 目录,创建 `codingci/tools` 目录。在其中下载 jenkins.war 、jenkins_home.zip 文件,并在 `tools/` 目录解压 jenkins_home.zip 文件。
预装以上环境是接入自定义节点时的先决条件。接入后若要确保构建计划正常运行,仍需视任务或插件的实际需求预装不同的环境,你可以参考默认节点环境安装常见的 SDK 与命令行工具。
macOS
命令接入
进入构建节点,选择【接入新节点】->【macOS】,接入方式选择 Bash,在接入配置中选择对应节点池,点击【生成接入配置并复制】。
在终端中输入命令后,等待服务下载完成。安装完成后可以使用以下命令进行验证:
qci_worker version
命令接入的默认安装目录为
/root/codingci
。
手动接入
使用手动接入方式前请确保节点 已满足上文中的环境依赖要求。
- 接入方式选择手动接入,按照提示在终端中输入命令安装客户端,即安装
Worker
服务。
选择拟接入的节点池,点击【一键生成并复制】,生成初始化命令。
在终端中执行已自动生成的客户端启动命令,让构建节点保持在线状态。
Windows
命令接入
选择【持续集成】->【构建节点】中,点击右上角的【接入新节点】,选中 Windows,选择 Powershell 接入方式。
安装完成后可以使用以下命令进行验证:
qci_worker version
命令接入的默认安装目录为
/root/codingci
。
手动接入
使用手动接入方式前请确保节点 已满足上文中的环境依赖要求。
- 接入方式选择手动接入,按照提示在终端中输入命令安装客户端,即安装
Worker
服务。
选择拟接入的节点池,点击【一键生成并复制】,生成初始化命令。
在终端中执行已自动生成的客户端启动命令,让构建节点保持在线状态。
Linux
命令接入
选择【持续集成】->【构建节点】中,点击右上角的【接入新节点】,选中 Linux,选择 Bash 接入方式。设置完成后在 Linux 环境中运行已生成的接入配置命令。
安装完成后可以使用以下命令进行验证:
qci_worker version
命令接入的默认安装目录为
/root/codingci
。
手动接入
使用手动接入方式前请确保节点 已满足上文中的环境依赖要求。
- 接入方式选择手动接入,按照提示在终端中输入命令安装客户端,即安装
Worker
服务。
选择拟接入的节点池,点击【一键生成并复制】,生成初始化命令。
在终端中执行已自动生成的客户端启动命令,让构建节点保持在线状态。
启动守护进程
安装完成后,在构建节点上需要运行守护进程,用以监听并获取由 CODING 后台下发的 CI 任务。以下为运行 / 删除命令行:
# 在后台运行
qci_worker up -d
# 在前台运行
qci_worker up
# 暂时停止运行
qci_worker stop
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。