--
:
--
:
--
hugo-teek is loading...
实践-研发自定义构建参数版-荐(构建工具-共享库配置实践)
最后更新于:
实战:构建工具-共享库配置实践-2023.6.22(测试成功)

目录
[toc]
推荐文章
https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》

实验环境
1gitlab/gitlab-ce:15.0.3-ce.0
2jenkins/jenkins:2.346.3-2-lts-jdk11
实验软件
链接:https://pan.baidu.com/s/1VGbGlT-oQ_KMaRZNymZz0w?pwd=0820 提取码:0820
2023.6.22-实战:构建工具-共享库配置实践-(测试成功)

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

存储Jenkins共享库用到的代码;
src : 存放项目代码;
Jenkinsfile: 用于所有项目的构建使用;
gitlab上创建一个共享库(后面一直要用到的一个共享库)

- 创建相应目录及文件

提交。
2、创建Build.groovy
path: src/org/devops/Build.groovy, 编写下载代码和构建两个方法:
1package org.devops
2
3//checkout
4def CheckOut(){
5 println("CheckOut")
6
7 checkout([$class: 'GitSCM',
8 branches: [[name: "${env.branchName}"]],
9 extensions: [],
10 userRemoteConfigs: [[credentialsId: 'gitlab-root', url: "${env.srcUrl}"]]])
11
12 sh "ls -l" //验证
13}
14
15//run build
16def Build(){
17 println("Build")
18
19 sh "${env.buildShell}"
20}

3、配置Jenkins共享库
Jenkins设置, 共享库配置:



4、编写Jenkinsfile代码
1@Library("devops06@main") _
2
3//import src/org/devops/Build.groovy
4def build = new org.devops.Build()
5
6pipeline {
7 agent {label "build"}
8 stages{
9 stage("CheckOut"){
10 steps{
11 script{
12 build.CheckOut()
13 }
14 }
15 }
16
17 stage("Build"){
18 steps{
19 script{
20 build.Build()
21 }
22 }
23
24 }
25
26 }
27}

5、创建Jenkins作业
这里的jenkins项目之前创建了的,这里直接使用。
- 我们先在Jenlins流水线里测试下



ok,测试成功。
- 这里就直接把Jenkine pipeline代码提交到Jenkins共享库里去

- 然后修改Jenkins项目配置


- 运行验证效果

测试成功:


FAQ
关于构建工具,这边有2种实践
1、直接传递进构建命令**==(推荐,更灵活)==**


2、将构建命令写死(不推荐)


单条流水线:

1def buildTools = ["maven": "/usr/local/apache-maven-3.9.2"]
2
3pipeline{
4 agent {label "build"}
5
6 stages{
7 stage("CheckOut"){
8 steps{
9 script{
10 println("CheckOut")
11
12 checkout([$class: 'GitSCM',
13 branches: [[name: "${env.branchName}"]],
14 extensions: [],
15 userRemoteConfigs: [[credentialsId: 'gitlab-root', url: "${env.srcUrl}"]]])
16
17 sh "ls -l" //验证
18 }
19 }
20 }
21 stage("Build"){
22 steps{
23 script{
24 println("Build")
25
26 sh "${buildTools["maven"]}/bin/mvn clean package"
27 }
28 }
29 }
30 }
31}

关于我
我的博客主旨:
- 排版美观,语言精炼;
- 文档即手册,步骤明细,拒绝埋坑,提供源码;
- 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!
🍀 微信二维码 x2675263825 (舍得), qq:2675263825。

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

🍀 语雀
https://www.yuque.com/xyy-onlyone

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

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

最后
好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!
📡
👤
作者:
余温Gueen
🌐
版权:
本站文章除特别声明外,均采用
CC BY-NC-SA 4.0
协议,转载请注明来自
余温Gueen Blog!
推荐使用微信支付

推荐使用支付宝
