问题标签 [jenkinsfile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jenkinsfile - 自定义结帐 scm
尝试为 .NET Web 应用程序设置管道并且结帐 scm 会创建一个目录名称 (appname_string)。此目录名称超过 248 个字符,这导致构建步骤失败(目录名称应少于 248 个字符)。无论如何在结帐步骤中将应用程序名称作为文件夹名称而不是附加那些不必要的字符串?
jenkins - Jenkins/Groovy shell 返回类型/等式
我试图在 Jenkinsfile 中使用 shell 脚本的返回值作为分支逻辑的一种方式。但是我不明白返回的是什么或为什么它不相等。
要重现该问题,您可以在 Jenkinsfile 中编写:
提前致谢。
jenkins - 如何在詹金斯的工作之间发送罐子
我在 jenkins 中遇到了复制工件插件的问题。我无法将 jar 从项目复制到其他项目。
我在 mainproject 中写了 jenkinsfile
命令 'sh "./gradlew fatJar"' 在 build/libs 中创建 jar
我在子项目中写了 jenkinsfile
我不知道我做错了什么。我不能在项目配置页面中设置配置,因为配置是使用 jenkinsfile 或作业 dsl 生成的。
也许我没有配置可以复制工件的项目(子项目)
有人可以帮我解决这个问题吗?提前谢谢你,彼得
shell - 如何将变量从 Jenkinsfile 传递到 shell 命令
我想使用我在Jenkinsfile
脚本内部使用的变量,然后将其值传递给 shell 脚本执行(作为环境变量或命令行参数)。
但以下内容Jenkinsfile
:
给出输出:
所需的输出类似于:
知道如何将值传递i
给 shell scipt 吗?
编辑:根据马特的回答,我现在使用这个解决方案:
优点是,我不需要"
在 shell 脚本中转义。
jenkins - 在詹金斯管道中获取容器ID时出错
我有一个管道脚本,我试图将多个容器链接在一起(一个自由容器、Oracle 容器和一个 maven jdk 容器)。
首先,我创建了 oracle 容器:
然后将它链接到我的自由容器,它似乎工作正常:
但是当我尝试将它链接到 maven 时:
我在詹金斯收到以下错误:
失败:java.io.IOException:无法运行映像“maven:3.3.9-jdk-8”。错误:docker:来自守护程序的错误响应:无法获取 ${db.id} 的容器。请参阅“/usr/bin/docker-current run --help”。
这可能与它使用inside
调用而不是调用的事实有关run
吗?
windows - Jenkinsfile中使用publishHTML的目录名称通配符无法识别
在我的 Jenkinsfile 中,我使用 publishHTML 来发布PIT的报告。我的步骤如下
index.html 的目录是这样的\target\pit-reports\201612081633
。最后一部分201612081633
当然每次都不一样。在 Windows 机器上使用target/pit-reports/*/
会导致以下错误。
通配符*
or**
不起作用。如何在 jenkinsfile 中使用通配符作为目录名称,在 windows 或 unix 上执行此操作有什么区别?
jenkins - 詹金斯限制对拉取请求的詹金斯文件修改
我有一个带有 Jenkinsfile 的 GitHub 存储库设置。GitHub 组织文件夹插件将从提供的 Jenkinsfile 执行管道。
管道的最后一步是部署步骤。部署步骤使用 CloudBees Amazon Web Services Credentials Plugin 检查分支机构是否具有 AWS 凭证。如果它检测到凭据,它将部署,否则不会。
所有成员都对 GitHub 存储库具有只读访问权限,每当他们想要更改某些内容时,他们必须创建拉取请求。(只有管理员可以合并)如果有新的拉取请求,Jenkins 服务器将运行管道直到部署步骤,检查拉取请求是否可以集成到主分支。管道的最后一步是部署步骤,这不应该针对拉取请求执行。
问题是团队成员可以使用更改后的 Jenkinsfile 创建拉取请求。
因此,假设其中一名团队成员被黑了。他们现在可以通过使用更改后的 Jenkinsfile 创建拉取请求来感染生产环境,该请求执行以下操作:
如何防止 Jenkins 为更改的 Jenkinsfile 运行管道?或者我如何使用主分支中的 Jenkinsfile 来发出拉取请求?
oracle - 如何使 Oracle jdbc 驱动程序 jar 可用于从站上的 jenkins 管道脚本
我正在尝试编写一个在 oracle 数据库上运行查询的管道脚本。我有一个奴隶,我在其中安装了 Oracle JDBC 驱动程序 jar。
在主服务器的全局设置中,我将“附加 groovy 类路径”字段设置为从服务器上驱动程序 jar 的路径。
然后我运行了我的管道脚本,到目前为止非常简单:
这编译,但它失败了“java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver”。
那么,我是否必须重新启动某些东西才能使其正常工作,或者这不会按我预期的方式工作?