• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

Jenkins Pipeline 拉取 git 仓库代码 拉取 tag

jenkins 在 PipeLine scripts 中拉取远程git仓库

使用方法:

 stage('Checkout external proj') {
        steps {
	git(
	     url: 'https://github.com/<repo_name>.git',
	     credentialsId: 'xpc',
	     branch: "${branch}"
	)	
	
	sh "ls -lat"
        }
    }

或者写成一行

 stage('Checkout external proj') {
        steps {
            git url: 'https://github.com/<repo_name>.git', credentialsId: 'xpc', branch: "${branch}"
            sh "ls -lat"
        }
    }

参数解释:

  • url: git 地址

  • branch:分支

  • credentialsId:认证信息,如果是公开仓库,可以省略

credentialsId 设置

使用 credentials 可以【参考官网

创建一个用户名和密码

要创建一个用户名密码 Jenkins主面板左侧导航面板里找到 Credentials (凭证), 点击进入,配置即可。credentialsId 使用的是就是 ID 不是用户名

帐号密码.jpg

添加一个ssh key

使用用户名密码容易泄密,实际工作中常常使用 ssh 方式登陆。这里介绍下Jenkins 使用 ssh 连接远程仓库.

添加私钥类似以上添加用户名密码,Kind选择SSH username with private key用户名即为你的git账户用户名private key勾选Enter directly把我们本机的私钥添复制到框里面.

需要注意的是:ssh方式http方式所使用的 git 地址不一样的,一定要注意.

pipeline script 获取 git 最后一个 tag

pipeline{

      // 定义本次构建使用哪个标签的构建环境,本示例中为 “slave-pipeline”
      agent{
        node{
          label 'slave-pipeline'
        }
      }

      stages{  
		// 定义第一个stage, 完成克隆源码的任务, 示例项目中包含用于本次构建的编排文件Jenkinsfile 和 应用部署文件deployment.yaml
        stage('git code'){
          steps{
            dir("scripts"){
              git branch: "master", credentialsId: "http-wkj", url: 'https://git.letzgo.com.cn/wkj/jenkins.git'
              //sh 'git tag --sort version:refname | tail -1'
            }      
            git branch: "${params.branch}", credentialsId: "${params.lbgitlab}", url: "${params.gitlab_url}"
			script{
				env.GIT_TAG = sh(returnStdout: true, script: "cd scripts; git tag --sort version:refname | tail -1").trim()
			}
			
          }
        }
		
		stage('get tag'){
		    steps{
			   sh "echo $GIT_TAG"
			}
		}	
		
   }  
}

扩展

pipeline script 使用 git parameter 插件



0
0
下一篇:docker maven 如何设置 local repository 目录

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。