系列目录html
前面讲自由式任务的时候,咱们能够看到经过自由式job里提供的图形界面配置git拉取很是方便的,实际上使用PipeLine也并不复杂.这一节咱们展现一下如何在PipeLine任务中拉取git仓库代码.node
node{ stage("check out"){ git credentialsId: '3c210def-c000-4e2a-9b2d-838986a6b172', url: 'https://github.com/mrtylerzhou/gitShow.git' } }
以上代码很是简单,经过使用git关键字,配置credentialsId
和url
后Jenkins就能够拉取远程git仓库代码了.Url很好理解,即为远程仓库的地址.这里比较费解的是credentialsId
是什么,如何设置它?其实也很是简单,前面讲自由式任务的时候咱们讲过如何在jenkins里添加添加一个git用户名和密码,这里的credentialsId
即为咱们建立的包含用户名和密码的用户信息的id(这个id是jenkins自动生成的)这里经过这个id,Jenkins即可以找到这个用户名和密码.git
要建立一个用户名和密码也不是很是复杂,咱们在Jenkins主面板左侧导航面板里找到Credentials
,点击进入,即可以看到如下一个面板github
这里左侧Credentials
下面有一个System
咱们点击一下,此时面板中央位置以下图ssh
咱们点击这个连接进入,此时左侧会出现一个添加Credentials
按钮函数
点击便会出现一个能够设置用户名和密码的界面url
如上图示,Kind
使用默认的,添加一个用户名和密码.而后添加用户名和密码,此时id能够手输入,若是留空则Jenkins会自动生成一个.Description为一个简短描述,用户名和密码不少时方便区分.spa
添加成功后咱们想要看到这条记录的id,点击板右侧的搬手螺丝刀图标就能够看到id了.咱们把这个id复制到 PipeLine里credentialsId
3d
使用用户名和密码容易泄密,实际工做中经常使用ssh方式登录,这里对如何生成ssh key,如何在远程仓库中添加公钥再也不赘述,不熟悉的童鞋能够参考前面章节或者官方帮助文档以及在互联网上搜索相关材料.这里介绍下如何把ssh 私钥添加到Jenkins里,以便Jenkins使用ssh链接远程仓库.code
添加私钥相似以上添加用户名密码,只是添加用户名密码时Kind
选项使用的是默认的选择,这里Kind
下拉一下,选择SSH username with private key
,用户名即为你的git帐户用户名,private key
勾选Enter directly
把咱们本机的私钥添复制到框里面.
须要注意的是ssh和http地址是不同的,必定要注意.
Jenkins默认会的把项目拉到Jenkins安装目录下Workspace+项目名
的目录下面,不少时候因为一些缘由咱们可能但愿改变这一行为,把项目拉到自定义的一个目录下面,这时候可使用dir
函数,而后把要执行的代码写在dir
函数代码块内.示例代码以下
node{ stage("check out"){ dir("projdir"){ git credentialsId: '3c210def-c000-4e2a-9b2d-838986a6b172', url: 'https://github.com/mrtylerzhou/gitShow.git' } } }
以上语句执行后,能够看到jenkins会把代码拉到Workspace+项目名+projdir
的目录下,固然也能够指定绝对路径.