1. Jenkins上新建一个节点

系统管理 > 节点和云管理

alt text

新建节点

alt text

alt text

启动方式选择用 通过Java Web启动代理

alt text

创建完成后,进入节点页面可以看到如何在windows上运行agent,其中就包含 Windows 平台

alt text

2. 准备Java环境

下载地址:https://pan.baidu.com/s/1ybDxmS5KLWbckfd3bdNcTw?pwd=7777

双击安装即可

默认的安装目录是:C:\Program Files\Java\jdk-17

3. 运行agent

最简单的方式就是按照节点页面的提示通过两条命令就可以运行agent

curl.exe -sO "%AGENT_JAR_DOWNLOAD_URL%"
java -jar agent.jar -url "%JENKINS_URL%" -secret d579d2f07bf2794925c077056ab263e9fa28f2d2e301382d8c84d3832f4e7d85 -name "node-name-here" -webSocket -workDir "D:\jenkins_home"

4. 封装运行脚本

整理一下上面脚本,抽成一个可复用的脚本:

  • 控制变量参数
  • 自动重启

新建一个工作目录,比如 jenkins_agent,创建文件:jenkins-agent-service.bat,文件内容如下

@echo off
REM jenkins-agent-service.bat
REM Jenkins Agent Windows服务启动脚本

set JAVA_PATH="C:\Program Files\Java\jdk-17\bin\java.exe"
set JENKINS_URL=
set SECRET=d579d2f07bf2794925c077056ab263e9fa28f2d2e301382d8c84d3832f4e7d85
set AGENT_NAME=node-name-here
set WORK_DIR=D:\jenkins_home

set AGENT_JAR=D:\jenkins_agent\agent.jar
set LOG_FILE=D:\jenkins_agent\agent.log
set AGENT_JAR_DOWNLOAD_URL=

REM 如果agent.jar不存在,则下载agent.jar到指定目录
if not exist "%AGENT_JAR%" (
    curl.exe -sO "%AGENT_JAR_DOWNLOAD_URL%" -o "%AGENT_JAR%"
)

REM 切换到工作目录
cd /d "%WORK_DIR%"

:START_AGENT
echo Starting Jenkins Agent at %date% %time%

REM 打印执行的命令
echo "%JAVA_PATH% -jar %AGENT_JAR% -url %JENKINS_URL% -secret %SECRET% -name %AGENT_NAME% -webSocket -workDir %WORK_DIR%" >> "%LOG_FILE%" 2>&1

REM 启动Jenkins Agent
%JAVA_PATH% -jar "%AGENT_JAR%" -url "%JENKINS_URL%" -secret "%SECRET%" -name "%AGENT_NAME%" -webSocket -workDir "%WORK_DIR%" >> "%LOG_FILE%" 2>&1

REM 如果程序异常退出,等待10秒后重启
echo Jenkins Agent exited at %date% %time%, restarting in 10 seconds...
timeout /t 10 /nobreak > nul
goto START_AGENT