将附加阶段添加到 jenkinsfile 以及导入 jenkins-shared-libraries 代码

如何解决将附加阶段添加到 jenkinsfile 以及导入 jenkins-shared-libraries 代码

我们的项目使用具有通用管道阶段的 jenkins-shared-library。我们正在考虑添加一个阶段,该阶段将检查代码覆盖率并在未达到覆盖率目标时使管道失败。 jenkins 提供的 Cobertura 插件能够做到这一点,但我在实现它时面临挑战。有没有办法在我们的 jenkinsfile 中添加自定义管道阶段,该阶段将在共享库代码作为同一管道的一部分运行之后运行?是否可以导入 2 个共享库并将它们一起用作同一管道的一部分?我对此比较陌生,非常感谢任何帮助。谢谢!

解决方法

回答您的问题:
有没有办法在我们的 jenkinsfile 中添加自定义管道阶段,该阶段将在共享库代码作为同一管道的一部分运行后运行?
是否可以导入 2 个共享库并将它们一起用作同一管道的一部分?
对这两个问题都是肯定的,您可以在管道中添加任意数量的自定义阶段,并且它也可以在共享库代码运行后运行。
Jenkinsfile 和新的共享库文件示例如下:

# stagelibrary variable will be used later to contain old_stagelibraries and is filled in # stage ('Old stage')
def oldstagelibrary

# newstagelibrary variable will contain path of your new sharedlibrary
def newstagelibrary
stage('Old stage') {   
            steps {
              script {
                        // Load Shared library Groovy file old_stagelibraries.Give your path of old_stagelibraries file which is created
                        oldstagelibrary = load 'C:\\Jenkins\\old_stagelibraries'
                        // Execute your function available in old_stagelibraries.groovy file.
                        oldstagelibrary.MyOld_library()       
                      }               
                  }
        }
# Add your new stage in the Jenkinsfile and use your new_stagelibraries file that is created
stage('New stage') {   
            steps {
              script {
                        // Load Shared library Groovy file new_stagelibraries which will contain your new functions.Give your path of new_stagelibraries file which is created
                        newstagelibrary = load 'C:\\Jenkins\\new_stagelibraries'
                        // Execute your function MyNew_library available in new_stagelibraries.groovy file.
                        newstagelibrary.MyNew_library()       
                      }               
                  }
        }

创建一个名为:new_stagelibraries(groovy file)

#!groovy
// Write or add Functions(definations of stages) which will be called from your jenkins file
def MyNew_library()
 {
     echo "Function execution of MyNew_library"
     // You can add yoiur functionality here
 }

return this

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?