美文网首页
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