Jenkins - 08 - 源码管理

1 - Git源码管理

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

2 - 准备工作

2.1 插件

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

2.2 视图

创建一个视图用于分类存放Jenkins job,便于查找和管理
Jenkins - 08 - 源码管理_第1张图片

2.3 代码仓库

确认代码仓库GitLab信息
Jenkins - 08 - 源码管理_第2张图片

2.4 生成SSH凭据

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

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

2.5 添加SSH公钥到GitLab账户

Jenkins - 08 - 源码管理_第3张图片

3 - 示例:Git源码管理

3.1 新建job

添加一个free style的job到视图
Jenkins - 08 - 源码管理_第4张图片
Jenkins - 08 - 源码管理_第5张图片

3.2 添加凭据

Jenkins - 08 - 源码管理_第6张图片

选择和添加必要信息
特别注意:“Private Key”是Jenkins主机的私钥( .ssh/id_rsa
Jenkins - 08 - 源码管理_第7张图片

填写Repository URL和选择Credentials,如果没有错误信息提示,说明验证成功,保存配置。
Jenkins - 08 - 源码管理_第8张图片

3.3 运行Job

查看运行结果
Jenkins - 08 - 源码管理_第9张图片

查看工作区
Jenkins - 08 - 源码管理_第10张图片

对应的本地目录
Jenkins - 08 - 源码管理_第11张图片

查看控制台输出
Jenkins - 08 - 源码管理_第12张图片

4 - 分支管理

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

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

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

5 - 附加操作
通过Additional Behaviours选项可以使用Git源码管理的附加功能。
Jenkins - 08 - 源码管理_第15张图片

常用附加选项

  • 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插件

Jenkins - 08 - 源码管理_第16张图片
Jenkins - 08 - 源码管理_第17张图片

6.2 根据需求配置拉取选项

特别注意:指定附加操作中的“检出到子目录”,用来区分多个仓库的内容。
Jenkins - 08 - 源码管理_第18张图片

你可能感兴趣的:(Jenkins - 08 - 源码管理)