jenkins~管道Pipeline里使用公用类库

Pipeline使用了groovy语法,同时可以使用所有jenkins插件在groovy里进行调用,可以说通过UI可以实现的功能使用pipeline也可以实现,这一点我在上一篇文章里已经说明,今天主要说一下pipeline里的公用类库,你可以自己定义方法,一般地一个方法一个文件,扩展名为groovy,然后把它放在vars文件夹里,通过@Library('lind-library'来引用它,然后在代码里就可以调用了,具体需要以下几个步骤:

1 jenkins=》系统设置=》共享类库,或者在添加文件夹之后,在文件夹配置里进行公用类库的配置

 

 

 

2 在git仓库根目录建立vars文件夹,我们的方法文件就在这个里面

3 添加具体的方法文件,扩展名为groovy,文件名即为方法名

4 buildProject.groovy这个文件就是方法,它主要实现的功能是运行一个.net core容器,把当前项目复制到容器,编译项目,发布项目等。

def call(src,workDir) {
 sh "docker run --rm --tty --user root -v ${src}/:/src/ --workdir=${workDir}  microsoft/dotnet:latest  sh -c 'ls && dotnet restore  --configfile NuGet.Config &&  dotnet build && dotnet publish -o publish'"
}

5 最后就在自己的jenkins pipeline里调用它就可以了

@Library('aspnetcore-library') __
 buildProject("${WORKSPACE}","/src/OCRManager")    

本次pipeline公用类库的介绍就到这里!再次强调一下,对于Dockerfile来说,它会自动生成一个.dockerignore的文件,大家可以把它删除,因为它会约束你Dockerfile里使用的输出路径为obj\docker\publish,大家一定要注意一下!

感谢各位阅读!

posted @   张占岭  阅读(4432)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2016-11-29 MongoDB学习笔记~根据子集合里某个属性排序
2012-11-29 基础才是重中之重~值类型的初始值
2011-11-29 当为业务逻辑层(BLL,Service)提供基类之后,程序变得了更加面向对象了
2011-11-29 MVC中,查询以异步呈现,分页不用异步的解决方案
点击右上角即可分享
微信分享提示