Jenkins流水线自动拉去代码的实践-jenkins-pipline

配置 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

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']]])
                    }
               }
        }
    }
}

解释:

  1. agent:指定项目运行的节点
  2. dir:指定代码的拉取路径
  3. checkout:拉取代码命令
  4. branch:代码分支名称
  5. credentialsId:凭据的ID(前面创建凭据的时候可自定义)
  6. url:代码仓库的地址

片段生成器

也许有同学会好奇,pipline 的脚本中有很多的格式和关键字,不可能全部记住,这个时候怎么办呢?

jenkins 为用户提供了一个很好的工具,pipline 代码片段生成器,你只需要了解语法的整体结构,具体的操作都可以通过片段生成器进行生成。

下面我就介绍下上面的指定分支拉取代码的 pipline 脚本生成过程。

点击流水线脚本编写框下方的流水线语法:

配置代码仓库,凭据等信息,点击生成流水线脚本:

然后,复制脚本到流水线项目中的脚本编辑器即可。通过简单的修改和整理就可以执行构建了。

构建结果展示

此测试项目只定义了一个步骤,实际使用中,你可以根据需要定义多个不同的步骤来进行流水线的编排和设计。

Q&A

有的同学可能在执行完 pipline 后并没有 Full State View 的展示,此时你需要安装如下几个插件即可。

momentjs.hpi
handlebars.hpi
pipeline-rest-api.hpi
pipeline-stage-view.hpi

插件下载地址

https://plugins.jenkins.io
版权声明:除特殊说明,博客文章均为phyger原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。来自:https://u1s1.vip/archives/140
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇