在我之前的文章中,我写了如何使用Jenkins 运行shell 并完成导入和计算脚本。然而,这带来了新的问题。如果你有一个大型团队,并且创建的shell 都在每个人的计算机上,那么如果发生人员变更或手动删除服务器上的文件,可能会变得非常成问题。因此,仍然需要必要的代码管理。我们公司一直使用SVN作为我们的代码库。今天我要写一些关于Jenkins 和代码库之间的事情。俗话说,废话少说,开始说话。 首先,如果你想让Jenkins支持SVN,你需要安装一个插件。如果你的Jenkins服务器有外网环境,可以直接通过Jenkins在线更新。但据我发现,内网上有很多服务器,没有网络环境,所以我需要这样做。如下所示:
首先,在“管理Jenkins”页面上单击“管理插件”。
然后在详情分页选项卡上手动上传插件文件。 SVN插件是一个插件,但是它的依赖项很多,需要的同学可以私信我。然而,获得更好印象的最佳方法是自己下载。
文件前面的数字是您给它们的,因此只需按顺序安装它们即可。安装后,您可以为Jenkins 设置svn 配置。 1.要添加凭证,必须先将其添加到Jenkins中,但是在Jenkins中添加凭证是非常不友好的。正如你在照片中看到的,我找不到功能按钮,我花了很长时间才找到它。
单击“添加凭据”,您将看到以下界面。
2.配置svn源。完成这些设置后,按照任务的课程代码管理选项卡中所示配置任务。
图中的红框就是你在第一步中设置的凭据,其他默认即可。 3、改变执行命令由于使用了svn,所以启动命令有一些改变。具体如图
首先将Jenkins执行目录下的文件复制到需要运行的位置,然后运行这些文件。不要忘记在运行之前授予权限,因为它们可能会丢失。经过上述配置后,Jenkins将能够自动拉取并执行你的svn服务器中的文件。您不必再担心服务器上的文件不是最新版本,也不必再担心文件处理不当导致任务失败。然而,有一个小问题。 Jenkins 根据服务器时间拉取文件。注意,如果SVN服务器的时间落后于Jenkins服务器,则不会拉取最新的文件。拉取时间必须比svn 更新时间长。请记住,之前的两个服务器之间的差异是5 分钟,5 分钟内文件将是旧版本。
下面文章介绍两种远程运行shell脚本的方法。一种是使用远程SSH。另一种是通过ssh。解决jenkins与执行服务器不一致的问题。