配置 agent 公钥到 Gitlab
我们期望在 agent
上执行代码拉取的操作。所以需要首先将 agent
上的公钥配置到 Gitlab
个人设置的 SSH Keys
中。
agent上公钥的路径:/root/.ssh/id_rsa.pub
Gitlab
上的 SSh Keys
配置:
配置 agent 私钥到 jenkins
agent
携带私钥从 Gitlab
上拉取代码,所以需要首先将 agent
上的私钥配置到 jenkins
的全局凭据中以供 pipline
项目使用。
agent上公钥的路径:/root/.ssh/id_rsa
jenkins
中的全局凭据配置:
设计 Pipline Script
代码语言:javascript复制pipeline {
agent{ label 'pipline'}
stages {
stage('Checkout') {
steps {
dir('/home/pipline/code/'){
checkout([$class: 'GitSCM', branches: [[name: 'dev']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CleanBeforeCheckout', deleteUntrackedNestedRepositories: true]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'Gitlab_AccessKey', url: 'ssh://git@gitlab.xxx.com.cn:2222/xxx-dev/xxx.git']]])
}
}
}
}
}
解释:
agent
:指定项目运行的节点dir
:指定代码的拉取路径checkout
:拉取代码命令branch
:代码分支名称credentialsId
:凭据的ID
(前面创建凭据的时候可自定义)url
:代码仓库的地址
片段生成器
也许有同学会好奇,pipline
的脚本中有很多的格式和关键字,不可能全部记住,这个时候怎么办呢?
jenkins
为用户提供了一个很好的工具,pipline
代码片段生成器,你只需要了解语法的整体结构,具体的操作都可以通过片段生成器进行生成。
下面我就介绍下上面的指定分支拉取代码的 pipline
脚本生成过程。
点击流水线脚本编写框下方的流水线语法:
配置代码仓库,凭据等信息,点击生成流水线脚本:
然后,复制脚本到流水线项目中的脚本编辑器即可。通过简单的修改和整理就可以执行构建了。
构建结果展示
此测试项目只定义了一个步骤,实际使用中,你可以根据需要定义多个不同的步骤来进行流水线的编排和设计。
Q&A
有的同学可能在执行完 pipline
后并没有 Full State View
的展示,此时你需要安装如下几个插件即可。
momentjs.hpi
handlebars.hpi
pipeline-rest-api.hpi
pipeline-stage-view.hpi
插件下载地址
代码语言:javascript复制https://plugins.jenkins.io