Jenkins支持分布式部署,即主节点和子节点可以分布在不同的网络环境中,节点之间通过长链接通信。例如,Jenkins主节点在外网,随时随地可以访问,两个子节点在内网,一台Windows机器构建app的安卓版本,一台iMac机器构建app的iOS版本。
本文演示如何添加一个子节点。
新建节点
1、Manage Jenkins -> Manage Nodes and Clouds -> 新建节点,
节点名称自定义,例如:Agent1,点击确定。
2、开始配置节点信息。
其中远程工作目录,就是子节点机器上的工作目录。
Jenkins设置
启动方式中如果没有Launch agent by connecting it to the master
,需要开启。
Manage Jenkins -> Configure Global Security,代理选择:随机选取,如图:
下载子节点文件
Manage Jenkins -> Manage Nodes and Clouds,点击子节点,如图
点击Launch
,下载完成后,拷贝到子节点机器(需要有Java环境),双击运行,如果出现以下信息,代表运行成功,子节点已连接。
任务配置
打开任务配置,限制项目的运行节点,输入Agent1。
最后执行构建,就能看到Jenkins任务成功地分配到Agent1节点了。
我按照步骤添加了agent节点,还是会卡在这里。
引擎版本是2.4.3
{ status: 419, msg: ‘Error Session Token Owner’ }
[15008] Building 3D physics modules…
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest –update-db
[15008] Cocos Service load base data!
build jsb-adapter: 425.384ms
你的构建机器是什么操作系统?
“autoCompile”: false,
“scenes”: [
“cbe12e12-d85d-4871-9e98-52707c5bc744”,
“26a9d6f3-4536-49c5-b158-81ae1da24824”,
“2e0c54bc-1fdf-4ff3-b70e-0d5f2885b87f”,
“7df5046a-1ea1-43d1-ac4d-8d21db59672d”
],
“project”: “D:\\Work\\bing3.sun\\Code\\Ncl”,
“projectName”: “newAKClient”,
“debugBuildWorker”: false
}
Builder: do custom process [build-start]
[8212] Building D:\Work\bing3.sun\Code\Ncl
[8212] Destination D:\Work\bing3.sun\Code\Ncl\build\wechatgame
[8212] Delete D:\Work\bing3.sun\Code\Ncl\build\wechatgame\**\*,!D:\Work\bing3.sun\Code\Ncl\build\wechatgame\game.json,!D:\Work\bing3.sun\Code\Ncl\build\wechatgame\project.config.json
卡在这里了。cc版本2.3.2,
jenkins执行batch command
C:
cd C:\\ProgramData\\cocos\\editors\\Creator\\2.3.2\\
CocosCreator.exe –path D:\\Work\bing3.sun\\Code\\Ncl –build `
在运行Jenkins的机器上,试过直接执行命令行(不通过Jenkins)可以成功吗?