jenkins - Jenkins bat 命令中变量的字符串连接

标签 jenkins groovy

我有一个简单的 Jenkins 函数/过程:

def StartContainer() {
    def SqlPort = BranchToPort[env.BRANCH_NAME]
    bat "docker run -e \"ACCEPT_EULA=Y\" -e \"SA_PASSWORD=P@ssword1\" --name SQLLinux${env.BRANCH_NAME} -d -i -p $SqlPort:1433 microsoft/mssql-server-linux"
}

BranchToPort 完全按照我想要的方式执行,我遇到的问题是将它返回的值插入到以下对 bat 的调用中,我尝试了各种方法,这要么导致 groovy 脚本出现语言编译错误或在 -p 命令之后立即结束的 bat 命令。显然我在这里缺少一些非常简单的东西。

最佳答案

我的问题在于,Groovy 映射的作用域是在启动容器的方法的范围之外声明的,如果我将映射的声明移动到与启动容器的方法相同的方法中,它就可以工作。

关于jenkins - Jenkins bat 命令中变量的字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45634639/

相关文章:

jenkins - 从 Jenkins CI 推送到 Nexus 3 NuGet 存储库,无需提供凭据

git - 由于错误 "SSL certificate problem: unable to get local issuer certificate"(Bitbucket),Jenkins 管道脚本阻止 git pull

ubuntu - 如何远程配置 Jenkins?

sql - 来自 grails 项目的 hibernate AssertionFailure

bash - 将流程脚本中生成的文件内容保存到 Nextflow 变量中

xml - 递归地对任意 XML 文档的元素进行排序

hibernate - 仅将一些属性绑定(bind)到 grails 域对象上?

jenkins - 使用Jenkins的声纳分析找不到可执行文件

Jenkins 作业 DSL : how to build particular node in Configure block?

java - 在 Intellij : unable to resolve class GroovyTestCase 下使用 Groovy 测试 Java 代码