公司使用jenkins构建项目, 通过网页手动操作太繁琐, 而jenkins提供了很多接口给我们使用, 可以使用curl连接到jenkins进行远程操作.
windows下没有curl命令, 通过gitbash来使用curl命令.
想要通过curl远程使用jenkins, 还需要在jenkins后台添加api-token.
gitbash安装流程略过.
1 2 3 4
| # user jenkins用户 # job 项目名 # /lastBuild/buildNumber 可以获取项目最新的构建号 curl -s --user ${user} ${job}/lastBuild/buildNumber
|
1 2 3 4 5 6 7 8 9 10
| # /api/json 可以查看构建信息, 可以用定时器实时检查构建是否完成 num=$1 info=`curl -s --user ${user} ${job}/${num}/api/json` result=`echo $info | sed 's/,/\n/g' | grep 'result' | sed 's/"result": "//g' | sed 's/"//g'` building=`echo $info | sed 's/,/\n/g' | grep 'building' | sed 's/"building": "//g' | sed 's/"//g'` if [ "$result" = "result:SUCCESS" ];then echo ok else echo wait fi
|
1 2 3 4 5 6
| # /consoleText 可以获取构建控制台日志, 这里通过日志获取到项目下载地址 num=$1 log=`curl -s --user ${user} ${job}/${num}/consoleText | tail -n 3` log=${log//"Build Success. Download URL:"/""} addr=${log//"Finished: SUCCESS"/""} curl -s --user ${user} ${addr} > E:/${file}
|
1 2 3 4 5 6 7 8 9 10 11
| # 生成json文件, json内是项目的一些配置信息, 需要根据你的项目配置进行修改 cat > E:/tmp_config.json <<EOF { "SVN_USER_NAME" : "svn用户名", "SVN_USER_PWD" : "svn密码", "PROJECT_NAME" : "项目名字", "PROJECT_PATH" : "项目路径" } EOF # /buildWithParameters 发送构建申请 curl -s --user jenkins用户名:api-token ${job}/buildWithParameters -d @E:/tmp_config.json
|