当前位置: 首页 > 面试题库 >

Jenkins Pipeline CPS全局lib资源文件,用于shell脚本

韦绍晖
2023-03-14
问题内容

我在Jenkins的许多项目中都有一个通用的Shell脚本,将其放入resources文件夹并按如下所示加载它是否正确:

def script = libraryResource 'build/package_indexes/build_push.sh'

虽然这有效:

sh script

但是一旦我开始使build_push.sh脚本接受参数,就不能正常运行了,因为script它不是文件…

第二个问题是将script变量输出到临时文件中是否正确,例如

writeFile script '/tmp/tmp.sh'
sh "/tmp/tmp.sh 'cmd_arg'"

问题答案:

bash -c会成功的 只要记住第一个参数是$ 0而不是$ 1

例如:

我的剧本-

 echo hello $0!

在Jenkinsfile中

 def script = libraryResource 'hello.sh'
 sh "bash -c '$script' world"

结果就是世界!



 类似资料:
  • 问题内容: 将SQL查询存储在全局资源文件中而不是将其存储在我的代码隐藏中是个好主意吗?我知道存储过程将是一个更好的解决方案,但是在这个项目上我没有那么奢侈。 我不想在我的页面上查询所有内容,并认为使用中央存储库是一个更好的主意。 问题答案: 资源文件通常用于本地化。但是,字符串只是字符串,只是字符串,您是否真的要将资源文件中的任何旧字符串发送到数据库? 我完全同意其他人的观点,即您应该使用lin

  • 本文向大家介绍Shell脚本编写Nagios插件监控程序资源占用,包括了Shell脚本编写Nagios插件监控程序资源占用的使用技巧和注意事项,需要的朋友参考一下 一般情况下,我们只需要监控程序进程在没在就可以了。但是这次遭遇了这样的事,公司开发的程序,程序进程还在,但是死锁了。导致大范围的影响,更要命的是根本不知道问题出在哪里,还是别的测试部同事帮忙发现的,真是丢尽运维的脸了… 为避免下次再遭遇

  • 默认情况下 Nuxt 使用 vue-loader、file-loader 以及 url-loader 这几个 Webpack 加载器来处理文件的加载和引用。对于不需要通过 Webpack 处理的静态资源文件,可以放置在 static 目录中。 Webpack 构建 默认情况下, vue-loader自动使用 css-loader 和Vue模板编译器来编译处理vue文件中的样式和模板。在此编译过程中

  • 主要内容:1. struts.properties,2. struts.xml,3. listener通常情况下,您可能需要一个全局资源包(属性文件)来存储信息,可用于在应用程序中的所有类。 在Struts2,有三种方式来配置全局资源包: 1. struts.properties 配置全局资源包在 “struts.properties” 文件,在这里你定义一个名为“global.properties”的属性文件为全局资源包。 对于多个资源包,只是用逗号分隔属性文件。 2. struts.xml

  • 我想很多程序员应该记得 GitHub 上有一个 Awesome:XXX 系列的资源整理。Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。

  • 脚本用来驱动项目逻辑,实现交互功能。 常用操作请参考:创建和使用组件脚本 代码编写方法请参考:脚本开发工作流程。