出于安全考虑,我们有两个 Jenkins 实例,一个位于安全区域,仅部署已构建的 jar(无法连接到 GIT)。另一个位于真正安全区域之外并构建 jar。JenkinsBuild 实例从 GIT 构建,然后将 jar 推送到 FTP 服务器,然后脚本将 jar 复制到 JenkinsDeploy 实例中的正确项目工作区。
有没有办法让 Jenkins 查看工作区 (新 jar) 中的更改并自动部署最新的 jar?或者我必须获取将 jar 复制到工作区的脚本来触发构建 (带参数)?我在 Jenkins 中拥有管理员权限,但我自己无法修改脚本。
答案1
您可以从传输 .jar 文件的进程访问远程 Jenkins 吗?您可以使用 curl 等通过 API 启动构建,如下所示:
http://{USER}:{API_TOKEN}@{JENKINS_URL}/job/{JOB}/build?token={AUTHENTICATION_TOKEN}
答案2
如果你不喜欢远程 API 调用,那么似乎有一个文件系统可以监视 jenkins 的构建触发器插件: https://wiki.jenkins.io/display/JENKINS/Files+Found+Trigger
https://plugins.jenkins.io/files-found-trigger
描述:
构建触发器轮询一个或多个目录,如果在这些目录中找到某些文件则开始构建。