gpt4 book ai didi

jenkins - 如何在 Jenkins 管道中执行托管脚本

转载 作者:行者123 更新时间:2023-12-04 11:34:22 27 4
gpt4 key购买 nike

我正在创建一个 Jenkins 管道。我们有一个 bash 脚本需要执行,但它不在存储库本身中。

我该如何执行这个脚本?我试过:

  • configFileProvider:使用 configFileProvider 获取变量中的脚本。执行没有奏效,我也在想这不是这样做的方法吗?这是用于配置文件而不是真正的脚本?
  • 我有一个共享库,其中包含 resources/ .从这里我复制了脚本并用 sh 执行了它复制文件中的内容后.. 这很顺利,但我的工作区中有我不喜欢的脚本。我想在我的工作区上执行命令,但是当我执行 git commit 等时。如果可能的话,我不希望该文件在我的工作区中。

  • 在我的 jenkins 管道中执行托管脚本(从托管脚本或在 git 中)的正确方法是什么?

    没有我使用的管道:托管脚本。当我执行它时,我在日志中看到:
    executing script 'test-xxx.sh'
    [test-xxx] $ /bin/bash /tmp/build_step_template3284004xxx.sh param1 param2 param3

    这是我想在 Jenkins 管道中复制的理想解决方案。
    我的脚本不在我的工作区中,但在我的工作区中执行并且是临时的。

    最佳答案

    我以前用的Scriptler插件,但是它有针对它的安全问题。
    当我在 2017/8 年将我所有的东西从自由式构建转移到管道(用 Groovy 表示)时,我将该功能迁移到了 Shared Libraries (顺便说一句:放置针对 Jenkins 对象模型运行的代码的正确位置)。
    Jenkins 作业(自由式或管道)中的所有路径都是 %JENKINS_WORKSPACE% 相对路径。 Jenkins 本身并不喜欢你在文件系统上的这个目录之上。
    我强烈推荐您的构建过程需要在主要 Jenkins 工作区中的所有内容(最好通过 git checkout 或共享库)。在 git 中对所有内容进行版本控制将永远是您的 friend 。如果这不是您想要做的,其他选项可能是:

  • Shared Workspace
  • post
  • 关于jenkins - 如何在 Jenkins 管道中执行托管脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47525846/

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