gpt4 book ai didi

shared-libraries - 我可以使用Groovy以外的其他语言在Jenkins Pipeline中创建 'shared library'吗?

转载 作者:行者123 更新时间:2023-12-01 08:49:09 27 4
gpt4 key购买 nike

我有执行REST命令并处理结果的python脚本。我希望该脚本可被不同的Jenkins Pipelines使用,我通过Jenkins官方文档发现的一种方式是使用“共享库”,而这些示例(以及我在网上找到的其他示例)也使用Groovy。

我的问题是,是否可以用Groovy以外的其他语言创建共享库?对于前。 Python?

最佳答案

简短的答案是没有。所有Jenkins Pipeline执行(现在)都是专门的Groovy,可通过Pipeline: Groovy插件执行,该插件使用Groovy CPS库执行编译和运行时转换。 Jenkins 管道生态系统与Groovy紧密相关。将来可能会改变,但是现在不值得付出努力。

如果您确实想在共享库中使用Python代码,则可以做的是将其放入库的resources/文件夹中,然后使用管道步骤进行加载和执行。没有说明您为什么要使用Python的用例(或what problem you are trying to solve),因此以下是一个人为的示例:

  • 在您的共享库中:resources/com/mkobit/sharedlib/my_file.py
    #!/usr/bin/env python
    print("Hello")
  • 共享库Groovy全局变量:vars/mkobitVar.groovy
    def runMyPython() {
    final pythonContent = libraryResource('com/mkobit/sharedlib/my_file.py')
    // There are definitely better ways to do this without having to write to the consumer's workspace
    writeFile(file: 'my_file.py', text: pythonContent)
    sh('chmod +x my_file.py && ./my_file.py')
    }
  • 在消费者中

    @Library('mkobitLib') _

    node('python') {
    mkobitVar.runMyPython()
    }
  • 关于shared-libraries - 我可以使用Groovy以外的其他语言在Jenkins Pipeline中创建 'shared library'吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47402263/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com