实战:构建工具-共享库配置实践-2023.6.22(测试成功)

news2024/9/21 4:39:50

实战:构建工具-共享库配置实践-2023.6.22(测试成功)

image-20230622221526872

目录

image-20230623055222683

推荐文章

https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》

image-20230619080407452

实验环境

gitlab/gitlab-ce:15.0.3-ce.0
jenkins/jenkins:2.346.3-2-lts-jdk11

实验软件

链接:https://pan.baidu.com/s/1VGbGlT-oQ_KMaRZNymZz0w?pwd=0820
提取码:0820

2023.6.22-实战:构建工具-共享库配置实践-(测试成功)

image-20230622222852493

1、创建GitLab仓库(Jenkins共享库)

观察🔎所有构建工具的Jenkinsfile代码,会发现很多重复的地方。使用共享库将重复的代码纳入共享库。

存储Jenkins共享库用到的代码;

  • src : 存放项目代码;

  • Jenkinsfile: 用于所有项目的构建使用;

  • gitlab上创建一个共享库(后面一直要用到的一个共享库)

image-20230622215207517

  • 创建相应目录及文件

image-20230622215429695

提交。

2、创建Build.groovy

path: src/org/devops/Build.groovy, 编写下载代码和构建两个方法:

package org.devops

//checkout 
def CheckOut(){
    println("CheckOut")

    checkout([$class: 'GitSCM', 
        branches: [[name: "${env.branchName}"]], 
        extensions: [], 
        userRemoteConfigs: [[credentialsId: 'gitlab-root', url: "${env.srcUrl}"]]])

    sh "ls -l" //验证
}

//run build
def Build(){
    println("Build")

    sh "${env.buildShell}"
}

image-20230622215958209

3、配置Jenkins共享库

Jenkins设置, 共享库配置:

image-20230622220122919

image-20230622220253043

image-20230622220306446

4、编写Jenkinsfile代码

@Library("devops06@main") _

//import src/org/devops/Build.groovy
def build = new org.devops.Build()

pipeline {
    agent {label "build"}
    stages{
        stage("CheckOut"){
            steps{
                script{
                    build.CheckOut()
                }
            }
        }

        stage("Build"){
            steps{
                script{
                    build.Build()
                }
            }

        }        
        
    }
}

image-20230622220540926

5、创建Jenkins作业

这里的jenkins项目之前创建了的,这里直接使用。

  • 我们先在Jenlins流水线里测试下

image-20230622220733672

image-20230622220713505

image-20230622220757481

ok,测试成功。

  • 这里就直接把Jenkine pipeline代码提交到Jenkins共享库里去

image-20230622220846449

  • 然后修改Jenkins项目配置

image-20230622221020572

image-20230622221038987

  • 运行验证效果

image-20230622221057484

测试成功:

image-20230622221147564

image-20230622221157911

汇总

关于构建工具,这边有2种实践:

1、直接传递进构建命令**(推荐,更灵活)**

image-20230622220733672

image-20230622223705022

2、将构建命令写死

tstmp_20230622223715

image-20230622223753563

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码
x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号
《云原生架构师实战》

image-20230107215126971

🍀 语雀

https://www.yuque.com/xyy-onlyone

image-20230515221819681

🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎
https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/675640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter Dart操作符

常见的操作符大家都知道就不多介绍了,主要来看看Java所没有的。 类型判定操作符 as、 is、 和 is! 操作符是在运行时判定对象 类型的操作符 操作符解释as类型转换is如果对象是指定的类型返回 Trueis!如果对象是指定的类型返回 False as 操作符把对象转换为特定的类…

如何加入开源社

开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、项目孵化” 为使命的开源社区联合体。开源社积极…

chatgpt赋能python:Python生成GUID:让你的代码变得更加唯一

Python生成GUID:让你的代码变得更加唯一 在现代软件开发领域中,一个核心的问题是如何确保代码生成的ID是唯一的。通过Python语言生成全球唯一标识符(GUID)是一个非常流行的方法,而且是非常容易实现的。 什么是Python…

FutureTask源码

介绍 在创建线程的方式中,我们可以直接继承Thread和实现Callable接口来创建线程,但是这两种创建线程的方式不能返回执行的结果。于是从JDK1.5开始提供了Callable接口和Future接口,这两种创建线程的方式可以在执行完任务之后返回执行结果。 …

Java8 LocalDateTime获取当前周是本年第几周weekOfYear,用WeekFields

Java8 LocalDateTime获取当前周是本年第几周weekOfYear, 可用WeekFields LocalDateTime 没有直接获得 weekOfYear 的方法 LocalDateTime 有一个 get(TemporalField field) 方法, 返回 int public int get(TemporalField field) {if (field instanceof ChronoField chronoFiel…

读发布!设计与部署稳定的分布式系统(第2版)笔记09_一窝蜂和容量

1. 停电事故后电力恢复的方式 1.1. 停电后常见的情形是,送电几秒钟后又再次断电 1.2. 数百万台空调和冰箱的用电需求,使刚刚恢复的电力供应发生过载 1.3. 当电力供应不足时,增加的电流很快就到达满负荷,导致过载,触…

chatgpt赋能python:Python中的点形状:了解点与其表现形式

Python中的点形状:了解点与其表现形式 在Python编程中,点是一种十分重要的形状,它不仅可以用来表示数据结构中的节点,还可以用来绘制图形。本篇文章将介绍Python中点形状的表现形式和相关知识点。 点的表现形式 在Python中&…

跨 OT 部门管理来自新兴技术的网络风险挑战

本文首发微信公众号网络研究院,关注获取更多。 随着 AI 和自动化工具被引入企业,解决这些新技术(包括 OT 环境中的生成 AI)带来的网络风险需要一种综合方法。 这些新兴技术进步可以在 OT(运营技术)基础设…

【夜深人静写数据结构与算法 | 第八篇】哈希算法与哈希表

目录 前言: 哈希: 哈希表: 哈希表组成: 哈希表实例: 哈希函数: TIPS: 总结 前言: 如果此时我要你默写一个有一百位的数字,你要如何做才能保证不会漏写呢&#xf…

Jenkins安装手册

Jenkins安装手册 一、前期准备工作 因为我是在Windows系统上连接Linux服务器以及需要把在Windows系统下载的安装包上传到Linux系统,所以需要用到两个工具---putty 和FileZilla。 Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是…

IDEA新UI速览,成了VS Code的样子?

IntelliJ IDEA 2023.1 现已发布。此版本包括对新 UI 的改进,根据从用户那里收到的反馈进行了彻底改造。此外还实现了性能增强,从而在打开项目时更快地导入 Maven 和更早地使用 IDE 功能。由于采用了 background commit checks,新版本提供了简…

【首发】随身wifi编译/使用ffmpeg方法,包含openwrt和debian

目录 1.硬件改造 2.软件改造 3.下一步计划 背景是23年4月入了随身wifi的坑后,发现除了硬件上的改造,软件的可玩性也很大,网上可以找到不少打印机,直播推流,甚至家庭智能硬件的改造教程。笔者是因为改造遥控小车&…

【前端】Element-UI和Element-Plus的区别

文章目录 对移动端支持区别框架区别开发中使用的区别el-tableel-dialogel-buttonel-date-pickerel-iconechartsIcon图标库变化了组件的插槽slot使用变化了新增组件 来源 对移动端支持区别 Element-UI对应Element2:基本不支持手机版 Element-Plus对应Element3&…

chatgpt赋能python:Python生成A到Z的SEO

Python 生成A到Z的SEO Python 是一种简单易学、功能强大的编程语言,它不仅可用于数据分析、机器学习等领域,还可以用于 SEO 工作中的自动化。在 SEO 中,我们常需要生成不同字母序列来作为页面的标题标签(Title Tag)&a…

Unencode

打开得到一串密文,看题目形式应该也是一个编码格式 果然是,直接利用网上工具解码就得到flag Uuencode编码 稍微了解了一下Uuencode编码的方式: Uuencode是二进制信息和文字信息之间的转换编码,也就是机器和人眼识读的转换。Uuenco…

从MVC到MVVC:软件架构的演变和迭代

文章目录 1.引言介绍MVC和MVVC架构1. MVC架构2. MVVC架构 2.MVC架构什么是MVC架构MVC的组成部分及其作用1. 模型(Model)2. 视图(View)3. 控制器(Controller) MVC的优点和缺点 3.MVVC架构什么是MVVC架构1. 模型(Model)2. 视图(View)3. 视图模型(View Model) MVVC的组成部分及其作…

2022(一等奖)B22基于时空大数据的多维分析与传统二维分析相结合的大气污染变化研究方法探索

作品介绍 1 作品背景及研究对象 1.1 背景及必要性介绍 2022年春节期间,山东及多地的部分省市明确了禁放烟花爆竹的规定,直接表明了当今大气污染变化的严峻形势,燃放烟花爆竹会严重影响空气环境质量,加剧雾霾天气,产生…

【Linux】CentOS7 设定虚拟机时间为本机当前地区时间的简单操作

目录 情景系统环境操作 情景 新安装的虚拟机时间和当前本地系统时间不一致,现在想要将虚拟机和本机地区的时间调节为一致。 系统环境 CentOS Linux 7 系统界面大致如此。 操作 点击虚拟机界面左上角的 Applications 选项, 选择System-Tools-- Sett…

熵、KL散度和交叉熵

首先我们需要知道,所有的模型都可以看作是一个概率分布模型,包括人脑进行图像分类时也可以看作是一种完美的模型 1、信息量 如果学过通信应该知道香农定义了信息量的的概念,我们能够理解一件事情信息量很大或者很小,但是如何用数…

操作系统 - 进程和线程

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…