cci-agent

功能介绍

在接入自定义构建节点时,需要在本地运行一个 cci-agent。目前 cci-agent 支持 war / docker 两种方式运行构建环境。每个节点只能从属于单一的构建节点池。

建议构建环境配置:

  • CPU 8 核或以上
  • 内存 16 GB 或以上

使用构建节点运行构建环境(运行 war 包)

当您希望直接使用构建节点中的 SDK 等工具,譬如 MAC OS 上的 XCode 环境,建议使用此方式运行。这种方式不仅可以支持直接使用构建节点中的环境,用户也可以完全自定义自己的构建环境。

环境依赖

  • Java 8 或 11
  • Git >= 2.9

使用 Docker 作为构建环境(运行 war 包)

如果您希望使用与 CODING 官方所提供的环境一致的工具,建议使用 Docker 作为构建环境。

环境依赖

  • Docker >= 19

cci-agent 常用命令

初始化(注册)

将节点注册至指定的项目节点池中(需要使用对应项目内的项目令牌)。

cci-agent init --pt ${PROJECT_TOKEN}

运行节点

运行节点,保持在线状态使其能够执行远端分配的构建任务。

# 前台执行
cci-agent up 
# 后台执行
cci-agent up -d

停止节点

停止正在运行的节点使其离线,离线后的节点无法接受远端分配的任务命令。

cci-agent stop

删除注册信息

删除构建节点的注册信息,删除后节点信息将会从项目中的节点池移除。

cci-agent remove

更多命令行

您可以通过执行 cci-agent 或者 cci-agent help 列出可用命令。 执行 cci-agent help command 或者 cci-agent command -h 命令将会展示子命令(command)具体的描述和参数说明。

CODING CI 自定义构建节点客户端程序。

Usage:
  cci-agent [flags]
  cci-agent [command]

Available Commands:
  clear       删除 Jenkins 中的所有任务和令牌,默认通知服务端停止构建。
  help        Help about any command
  init        初始化构建环境,生成配置文件,下载工具包。
  remove      从服务端删除节点
  stop        停止构建节点相关程序
  up          启动构建节点相关程序
  update      停止运行中的客户端程序并更新到最新版

Flags:
      --config string   指定配置文件所在目录(默认为 $HOME/.coding)
  -h, --help            help for cci-agent
      --insecure        不通过传输层安全协议(TLS)建立键连接
  -p, --port string     服务端端口号
      --pt string       具有节点池读写权限的项目令牌
  -s, --server string   服务端域名(不含协议前缀) (default "cci-websocket.coding.net")
  -v, --version         显示版本号

Use "cci-agent [command] --help" for more information about a command.

子命令

命令 说明
clear 删除 Jenkins 中所有任务、令牌和工作空间,默认会通知服务端停止所有分配到该节点的构建任务。
init 初始化构建环境,包括检测节点环境、收集节点信息、注册节点、下载工具包等。
remove 从服务端删除节点,但不会清理本地文件。
stop 停止构建节点相关程序,目前有客户端进程、Jenkins 进程或删除 Jenkins 容器。
up 启动客户端相关程序,监听服务端构建任务,执行构建并上传日志、构建产物等。
update 更新程序。将会停止正在运行的程序并更新,更新内容包括 cci-agent 客户端及必要工具包。

全局参数

参数名 简写 默认值 说明
config $HOME/.coding 指定配置文件所在文件夹,通过改变改参数(配合调整 Jenkins 端口号)可以再同一个节点上执行多个 cci-agent 程序
insecure false 不通过传输层安全协议(TLS)建立 WebSocket 连接,一般只在开发环境使用
port -p 80 指定服务端端口号,一般只在开发环境使用
pt 项目令牌,需具有读写节点池权限,用于服务端连接鉴权及项目识别
server -s cci-websocket.coding.net 服务端主机名,一般只在开发环境使用,格式为 cci-websocket.${CODING_DOMAIN}
version -v false 显示版本号

客户端下载地址

接入脚本

MacOS、Linux

wget https://coding-public-generic.pkg.coding.net/cci/release/cci-agent/install.sh

Windows

wget https://coding-public-generic.pkg.coding.net/cci/release/cci-agent/install.bat

如果运行后提示 -bash: wget: command not found,可能是因为您的操作环境中还没有安装 wget。下文是相关系统的操作指引:

Mac

在终端输入 brew install wget 以完成安装。如果提示brew: command not found,是因为您还没有安装「软件包管理工具」。下载命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Linux

  • 在 Fedora/Centos 上用 yum 安装:
yum install wget
  • 在 Ubuntu/Debian 上可以用 apt-get 安装:
apt-get install wget

Windows

建议使用 Ubuntu-on-WSL 执行命令行:

apt-get install wget
上一篇构建节点
文档是否对您有用?
感谢反馈有用
感谢反馈没用