前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins流水线自动拉去代码的实践

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

作者头像
Python研究所
发布2022-06-17 08:59:08
1.3K0
发布2022-06-17 08:59:08
举报
文章被收录于专栏:大飞的部落阁大飞的部落阁

配置 agent 公钥到 Gitlab

我们期望在 agent 上执行代码拉取的操作。所以需要首先将 agent 上的公钥配置到 Gitlab 个人设置的 SSH Keys 中。

代码语言:javascript
复制
agent上公钥的路径:/root/.ssh/id_rsa.pub

Gitlab 上的 SSh Keys 配置:

配置 agent 私钥到 jenkins

agent 携带私钥从 Gitlab 上拉取代码,所以需要首先将 agent 上的私钥配置到 jenkins 的全局凭据中以供 pipline 项目使用。

代码语言:javascript
复制
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']]])
                    }
               }
        }
    }
}

解释:

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

片段生成器

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

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

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

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

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

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

构建结果展示

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

Q&A

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

代码语言:javascript
复制
momentjs.hpi
handlebars.hpi
pipeline-rest-api.hpi
pipeline-stage-view.hpi

插件下载地址

代码语言:javascript
复制
https://plugins.jenkins.io
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置 agent 公钥到 Gitlab
  • 配置 agent 私钥到 jenkins
  • 设计 Pipline Script
  • 片段生成器
  • 构建结果展示
  • Q&A
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档