hugo-teek is loading...

实践-研发自定义构建参数版-荐(构建工具-共享库配置实践)

最后更新于:

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

image-20230622221526872

目录

[toc]

推荐文章

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

image-20230619080407452

实验环境

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-实战:构建工具-共享库配置实践-(测试成功)

image-20230622222852493

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

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

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

  • src : 存放项目代码;

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

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

image-20230622215207517

  • 创建相应目录及文件

image-20230622215429695

提交。

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}

image-20230622215958209

3、配置Jenkins共享库

Jenkins设置, 共享库配置:

image-20230622220122919

image-20230622220253043

image-20230622220306446

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}

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

FAQ

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

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

image-20230622220733672

image-20230622223705022

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

tstmp_20230622223715

image-20230622223753563

单条流水线:

image-20230623101723926

 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}

image-20230623101741222

关于我

我的博客主旨:

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

🍀 微信二维码 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

最后

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

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航