我想知道在以下情况下是否有任何好的文档
我的笔记本电脑上运行着詹金斯大师 这个詹金斯大师有几项工作在本地执行
我现在想从Azure Dev Ops调用这些作业。意味着来自Azure云的Devops作业应触发我在本地Jenkins设置上的构建
我看了几段视频,但发现很难绕开它。
仅通过使用插件来连接并执行作业,有没有更简单的方法?
我确实看过一些Udemy视频,但随后进行了许多设置,随着防火墙和路由器设置的使用,确实使系统暴露于外部漏洞。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
您可以为jenkins作业启用 Trigger远程构建,然后在azure devops管道中使用脚本任务来触发jenkins管道。请参阅以下步骤:
1,首先,您需要在本地jenkins服务器计算机上创建一个自托管代理。由于jenkins服务器在本地运行,因此需要本地代理才能与本地jenkins服务器通信。请按照here步骤创建本地托管代理。
2,在Jenkins上启用 Trigger远程构建
转到jenkins管道的 Build Triggers 标签 configure 页面->然后检查 Trigger远程构建->指定< strong>令牌(将在URL中使用)
3,定义一个秘密变量以在azure devops管道中托管您的jenkins密码:
4,在azure devops管道中添加一个bash任务,以运行以下curl命令:
newdf = newdf.drop(['variable'], axis=1)
newdf = newdf.rename(columns={"value":"Col-D"})
有关更多信息,请参见此线程trigger jenkins job via curl command remotely。
5,定位您的自托管代理池,以在自托管代理上运行azure devops管道。
然后,天蓝色的devops职位将触发您本地的jenkin职位。
更新:
您还可以使用 Jenkins队列作业任务在azure devops管道中将jenkin作业排队。请参阅以下步骤:
1,在Jenkin服务器中创建一个API令牌。
转到您的jenkin帐户配置页面。创建API令牌。
2,在azure devops管道中添加Jenkins队列作业任务。
3,单击管理链接以创建jenkins服务连接->在新打开的页面->创建服务连接->选择 Jenkins - > 下一步
输入所需的信息,如下图所示。注意:用户名是您在jenkin服务器上的用户帐户,密码是在上一步中生成的 API令牌。
4,如下配置您的Jenkin队列作业任务