美文网首页
Jenkins之远程触发构建

Jenkins之远程触发构建

作者: loongod | 来源:发表于2020-09-17 18:33 被阅读0次

通过 brew 安装 jenkins

brew install jenkins

通过 brew list jenkins 查看安装路径

➜ brew list jenkins
/usr/local/Cellar/jenkins/2.34/bin/jenkins
/usr/local/Cellar/jenkins/2.34/bin/jenkins-cli
/usr/local/Cellar/jenkins/2.34/homebrew.mxcl.jenkins.plist
/usr/local/Cellar/jenkins/2.34/libexec/ (2 files)

jenkins 相关命令:

# 开启jenkins
brew services start jenkins
#停止jenkins
brew services stop jenkins
#重启jenkins
brew services restart jenkins

在浏览器输入 localhost:8080 就可以打开Jenkins的web界面了。

如果忘记了更改的端口号,可以查看下 homebrew.mxcl.jenkins.plist文件,里面有端口号。更改 homebrew.mxcl.jenkins.plist 文件之后,记得 restart 一下。

一、项目打开远程构建

项目打开远程构建.png

如上图,在项目的构建触发器区域里面,有个触发远程构建选项。勾选之后,就会有一个 身份验证令牌,就是以后用的 token 了。

可能有些Jinkens下没有触发远程构建的选项,是因为需要先在 系统管理 -> Configure Gloal Security -> 打开【启用安全】选项

启用安全.png

打开 启用安全 之后,配置一些选项,项目中就有 触发远程构建 了。

勾选 触发远程构建,下面会有几行解释说明:

Use the following URL to trigger build remotely: JENKINS_URL/job/TestAPI/build?token=TOKEN_NAME 或者 /buildWithParameters?token=TOKEN_NAME
Optionally append &cause=Cause+Text to provide text that will be included in the recorded build cause.
【译】使用以下URL远程触发构建:JENKINS_URL/job/TestAPI/build?token=TOKEN_NAME或/ buildWithParameters?token=TOKEN_NAME(可选)附加&cause=Cause+Text以提供将包含在记录的构建原因中的文本。

二、调用

我构建了两个项目如下:

  • 无参数项目

    TestAPINoParams-job.png
  • 有参数项目

    TestAPI-job.png

    添加了构建 shell 脚本:

    echo 'this run script'
    echo ${displayName}
    

    功能就是打印出所传参数。

2.1 无参调用

没有参数:JENKINS_URL/job/TestAPI/build?token=TOKEN_NAME

通过命令行调用:

curl -X POST http://localhost:8081/job/TestAPINoParams/build\?token\=36911dc59082c34a0d24ce693f2e4c75

也可以直接在浏览器里面输入上面命令里面的 url

TestAPINoParams 为一个没有任何参数项目,如果有参数的话,就不能用上面的命令了。

2.2 传参调用

通过命令行调用:

curl -X POST http://localhost:8081/job/TestAPI/buildWithParameters\?token\=36911dc59082c34a0d24ce693f2e4c75\&displayName\=newWorlsdf

也可用 Postman 测试:

postman_body.png postman_headers.png
  • dispalyName : jenkins 里面项目的字符串参数
  • token : jenkins 里面登录用户的 API Token
2.3 有文件参数

通过命令行:

curl -X POST \
  http://localhost:8081/job/TestAPI/buildWithParameters \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type:  multipart/form-data' \
  -F displayName=noProblemd3 \
  -F token=36911dc59082c34a0d24ce693f2e4c75 \
  -F /Users/xulong/Desktop/receiveFile/receive.png=@/Users/xulong/Desktop/logo-1024.png

通过 Postman:

file-header.png postman_file_params.png
  • dispalyName : 项目的字符串参数;
  • token : 项目的远程构建 API Token;
  • /Users/xulong/Desktop/receiveFile/receive.png : 是传的文件到 jenkins 上的服务器之后的完整路径文件名;

比如说,我这里传的是 logo-1024.png 图片,API 调用成功后,jenkins 服务器上 /Users/xulong/Desktop/receiveFile/ 在这个路径下,就会有一个 receive.png 文件。

receive文件.png
2.4 小技巧

可以先用 Postman 调试成功,然后可以导出 curl 命令和其它命令。

postman-curl.png

相关文章

网友评论

      本文标题:Jenkins之远程触发构建

      本文链接:https://www.haomeiwen.com/subject/stqhyktx.html