Jenkins - 源码管理

1 - Git源码管理

Jenkins下的Git源码管理功能是由Git插件提供的。
https://plugins.jenkins.io/git

2 - 准备工作

2.1 插件

确认Jenkins Git Plugin插件是否已安装

2.2 视图

创建一个视图用于分类存放Jenkins job,便于查找和管理

2.3 代码仓库

确认代码仓库GitLab信息

2.4 生成SSH凭据

在命令行执行如下命令,生成SSH凭据

  • ssh-keygen
  • cat .ssh/id_rsa.pub
  • cat .ssh/id_rsa

2.5 添加SSH公钥到GitLab账户

3 - 示例:Git源码管理

3.1 新建job

添加一个free style的job到视图

3.2 添加凭据

选择和添加必要信息
特别注意:“Private Key”是Jenkins主机的私钥( .ssh/id_rsa

填写Repository URL和选择Credentials,如果没有错误信息提示,说明验证成功,保存配置。

3.3 运行Job

查看运行结果

查看工作区

对应的本地目录

查看控制台输出

4 - 分支管理

在源码管理的Branches to build部分,可以填写需要下拉的分支。
如果设置了多个分支或一个范围,Jenkins会检测每个分支中新的提交代码。
在执行构建时,也会对有新提交的分支执行一次构建任务。

点击问号按钮,会给出书写方法和格式的帮助信息。
The safest way is to use the refs/heads/ syntax. This way the expected branch is unambiguous.

  • 默认值
  • 设置为空:所有的分支都会被检测代码提交并且执行构建
  • 直接使用分支名:例如master等,建议的写法为 refs/heads/<branchName> 
  • 通配符和正则表达式:指定某个范围
  • 环境变量:便于参数化构建

5 - 附加操作
通过Additional Behaviours选项可以使用Git源码管理的附加功能。

常用附加选项

  • Clean before checkout:指定对工作区目录的操作或者执行脚本,保证下一次构建不受上一次的影响
  • Wipe out repository & force clone:强制删除之前拉取的代码并重新拉取,用于保持与远端仓库状态一致
  • Create a tag for every build:每一次构建都在本地创建一个标签
  • 检出到子目录:指定拉取代码到工作区目录的哪个子目录,如果不指定,默认为工作区目录,
  • 检出到指定的本地分支:本地也有一个对应的分支
  • pure stale remote-tacking branches:用来清除本地已失效的远程追踪分支,标签也会被删除

6 - 拉取多个仓库

通过Multiple SCMS插件和附加操作中的“检出到子目录”,可以拉取多个仓库到一个工作目录中。

6.1 安装Multiple SCMS插件


6.2 根据需求配置拉取选项

特别注意:指定附加操作中的“检出到子目录”,用来区分多个仓库的内容。

posted @ 2019-12-12 23:53  Anliven  阅读(6826)  评论(0编辑  收藏  举报