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

Stella981
• 阅读 744

Jenkins系列视频教程火热制作中,每周二发布(关注 Jenkins 中文社区哔哩哔哩,查看完整的视频)。

本视频中,介绍 Jenkins Shared-library 共享库的基本使用

概述

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)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
3种创建Jenkins流水线的方法
Jenkins是一个DevOps工具,可以用来自动构建、测试和交付软件代码。如果你是Jenkins的新手,本教程将帮助你理解如何使用以下方法之一创建Jenkins流水线(Pipeline):经典的Jenkins用户界面JenkinsBlueOcean用户界面,减少杂波并增加清晰度Git仓库Jenkins
Wesley13 Wesley13
3年前
1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))
容器化部署一套云服务系列1\.容器化部署一套云服务之Jenkins(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fjackson0714%2Fp%2Fdeploy1.html)一、购买服务器服务器!caeef00
Stella981 Stella981
3年前
Jenkins系列视频~Kubernetes中运行Jenkins
前言Jenkins系列视频由Jenkins中文社区联合TesterHome、Kubesphere、DevOps中国、云原生技术社区、禅道共同制作发布。目前系列视频教程火热制作中,每周二将发布高质量的Jenkins使用视频教程。在之前推送的视频中,已分别介绍通过Tomcat、Docker、CLI等方式运行Jenkins,本期视频中
Stella981 Stella981
3年前
Jenkins插件下载镜像加速
转:https://www.cnblogs.com/zhuochong/p/10082498.html可供选择的jenkins2插件镜像列表:Jenkins所有镜像列表:http://mirrors.jenkinsci.org/status.html比如日本的镜像:http://mirror.esuni.jp/jenkins/,ht
Stella981 Stella981
3年前
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
本文首发于:Jenkins中文社区(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fjenkinszh.cn)!huashan(https://oscimg.oschina.net/oscnet/f499d5b4f76f20cf0bce2a00af236d10265.jpg)
Stella981 Stella981
3年前
Jenkins 完全系列视频教程制作组招募
责编:YanjunShi!(https://oscimg.oschina.net/oscnet/a1379f7ccc6b46e79040fa0855af9fb1.jpg)Jenkins依托活跃的社区,广大的社区贡献者提供了非常丰富的插件,使得对很多人而言是一款容易上手、资料齐全、易于扩展的开源产品。哔哩哔哩、各种博客网站
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这