专栏首页JenkinsJenkins系列视频~Jenkins 共享库的基础使用

Jenkins系列视频~Jenkins 共享库的基础使用

概述

Jenkins shared-library 也就是流水线共享库,使用 Groovy 编写,用于封装 Jenkins 流水线(Pipeline)脚本(Jenkinsfile)中的通用逻辑。更多描述,请查看 Jenkins 官方文档。

为什么?

在企业中,通常有很多项目的构建、发布过程是非常相似的。有统一的软件构建、发布流程,对于提高团队效率,减少不必要的面对面沟通的重要手段。但,随之而来的一个问题是:

  • 需要维护很多流水线脚本
  • 流程上一旦有改动,就需要对很多项目进行修改
  • 部分情况下,流水线的维护者和项目的开发者不在一个团队,从而没有修改代码库的权限

对于以上所描述的情况,相信很多人都能想到,我们需要一个集中存放流水线脚本的地方。例如:有人希望可以把流水线脚本(Jenkinsfile)存放到一个 HTTP 服务器上,让每个项目都使用这个服务器上的脚本。

但是,我想说的是:千万不要把你们团队的软件构建、发布脚本随随便便扔一个地方了事。如果你认为这些脚本就是一些普通的文本文件,那么你就错了。正是这些脚本很大程度上影响着团队的项目迭代效率,没有人会希望看到在项目发版时遇到错误并卡住不知道问题在哪里,也不知道是谁在什么时候处于什么原因做了什么修改。

SCM 就是来解决我刚刚提到的那些问题的,把脚本一定要提交到代码仓库(Git)中,而且,一定要保证脚本的修改能得到充分的复查(review)。这样,即使遇到了问题,也能够通过回滚(revert)来撤回修改。

我这里要分享的共享库,就正好是这样一种技术。它和流水线脚本一样,都是采用 Groovy 语言来编写,并保存在 SCM 中。当然,时下很多人都会选择将共享库提交到 Git 中。那么,我们在使用的时候,和使用其他依赖项目一样,会选择某个代码库以及特定分支的版本。

该系列视频由Jenkins中文社区联合TesterHome、Kubesphere、DevOps中国、云原生技术社区、禅道共同发布。更多细节请查看 https://github.com/jenkins-zh/jenkins-zh/issues/383

本文分享自微信公众号 - Jenkins(Jenkins-Community),作者:LinuxSuRen

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-12-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • T-Mobile 和 Jenkins 案例研究

    大多数人都知道 T-Mobile 是无线服务提供商。毕竟,我们拥有国际化的业务,并且是美国第三大移动运营商。但是我们还是一家技术公司,提供的新产品包括 TVis...

    LinuxSuRen
  • Jenkins workflowLibs库的使(妙)用

    开篇介绍,要写的当然还是一些文字性内容,不管是官方原文或书籍描述,都要花心思去理解,然后顺便表达一下我自己的理解。

    仙人技术
  • 企业级 Jenkins 数据备份大法

    用户1682855
  • Spinnaker 介绍 – Netflix 的持续交付平台

    Spinnaker 是 Netflix 在2015年开源的一款持续交付平台,它继承了 Netflix 上一代集群和部署管理工具 Asgard:Web-based...

    Debian中国
  • Jenkins 中文社区携手 KubeSphere,共建 DevOps 技术生态

    今天,Jenkins 中文社区 与 KubeSphere 开源社区 联合官宣,两大开源社区开始正式合作,携手共建 DevOps 技术生态!

    LinuxSuRen
  • DevOps 三剑客:Dev,Ops and Jenkins

    每一位开发、测试和运维工程师,都有一个私人管家,他的名字叫Jenkins. Jenkins World就像这位管家的生日Party,大家聚在一起狂欢,分享Jen...

    DevOps时代
  • Jenkins X--(1)基本概念和最佳实践

    Jenkins X是基于Kubernetes的持续集成、持续部署平台。也是Jenkins的子项目。Jenkins X旨在使程序员在研发过程中能够轻松遵循DevO...

    DevOps亮哥
  • 看,我都不用手动配置

    Jenkins 非常灵活,如今已成为实现 CI/CD 的事实标准,同时拥有一个活跃的社区来维护几乎所有工具和用例的插件。但是灵活也是要付出代价的:除了 Jenk...

    LinuxSuRen
  • 2021年排名前85的DevOps面试问答

    您的答案必须简单明了。首先说明一下DevOps在IT行业中的重要性。讨论这种方法如何旨在使开发和运营团队共同努力,以最小的故障率加速软件产品的交付。包括DevO...

    学一学大数据

扫码关注云+社区

领取腾讯云代金券