在 jenkins 管道上使用来自 github 的 python 脚本

Use python script from github on jenkins pipeline

试图识别我如何 运行 位于 GitHub https://github.com/rix0rrr/cover2cover 的 python 脚本 在 Jenkins 管道上

在自述文档中我看到 'Add the following "post step" to your Jenkins build:' 和命令 mkdir -p target/site/cobertura && cover2cover.py target/site/jacoco/jacoco.xml src/main/java > target/site/cobertura/coverage.xml

我对 Jenkins 和 python 不是很熟悉,所以根据我在上面命令之前的理解

  1. 我需要以某种方式将脚本下载到 Jenkins 工作区中吗?或者有没有可能在不下载的情况下识别它?
  2. 从 Github 获得用于 cloning/downloading 的 Jenkins 工具?
  3. 我应该把这个命令包装成这样吗sh mkdir foldersh python cover2cover.py

您可以设置一个带有结帐步骤的 Jenkins 管道(official docs). You should also check this blog post 如何执行此操作。在您的情况下,它看起来像这样:

dir('somedir'){
    checkout ([
        $class: 'GitSCM',
        branches:[[name: "master"]],
        doGenerateSubmoduleConfigurations: false,
        extensions: [
            [$class: 'CleanCheckout']
        ],
        submoduleCfg: [],
        userRemoteConfigs: [[
            url: 'https://github.com/rix0rrr/cover2cover.git',
            credentialsId: ''     <--- put your credentials here if necessary
        ]]
    ])
}

因为我在顶部添加了 dir('somedir'),这将被检出到 somedir,然后您可以 运行:

mkdir -p target/site/cobertura && cover2cover.py target/site/jacoco/jacoco.xml src/main/java > target/site/cobertura/coverage.xml