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

在jenkins管道上运行bash命令

荀俊迈
2023-03-14
问题内容

在groovy脚本中(用于jenkins管道):如何运行bash命令而不是sh命令?

我尝试了以下方法:

在通话中致电“ #!/bin/bashsh

stage('Setting the variables values') {
    steps {
         sh '''
            #!/bin/bash
            echo "hello world"
         '''
    }
}

sh呼叫替换为bash呼叫:

stage('Setting the variables values') {
    steps {
         bash '''
            #!/bin/bash
            echo "hello world"
         '''
    }
}

附加信息:

我的命令比命令更复杂echo hello world


问题答案:

您提供的Groovy脚本正在将结果脚本中的第一行格式化为空白行。shebang告诉脚本使用/ bin / bash而不是/ bin /
sh运行,它需要位于文件的第一行,否则它将被忽略。

因此,您应该这样设置Groovy的格式:

stage('Setting the variables values') {
    steps {
         bash '''#!/bin/bash
                 echo "hello world" 
         '''
    }
}

它将使用/ bin / bash执行。



 类似资料:
  • 问题内容: 我想在Jenkins管道中运行像这样的嵌套shell命令: 不幸的是,当我将其格式化为管道语法时: Jenkins似乎无法正确运行它们,但是输出: 我试图在bash下运行命令,如下所示: 在jenkins管道上运行bash命令, 但最终遇到类似的问题。任何想法如何解决这个问题? 问题答案: 如果将shell命令扩展为两行,这对于Jenkins Pipeline来说将变得更加容易: 第一

  • 我使用Jenkins在docker容器中使用以下命令 码头工人拉詹金斯/詹金斯 docker run-p8080:8080--name=jenkins master jenkins/jenkins 获取此错误 calc.py/var/jenkins_home/workspace/pythoncalculator@tmp/耐用-b7e99e01/脚本。sh:1:/var/jenkins\u home

  • 我有一个简单的Jenkins管道,它创建了一个包含3个容器的pod——jnlp、dind和示例测试 如下所示- 还定义了几个阶段- 现在我的根文件夹中有了这个脚本“示例”,我想运行它,但不知怎么的,它找不到。 Dockerfile看起来像这样- pwd返回“/home/jenkins/agent/workspace/test pipeline”,而不是docker容器路径。 结果如下- 你知道怎么

  • 问题内容: 是否可以在管道常规脚本中直接调用PowerShell命令?在Jenkins中使用自定义作业时,我可以使用PowerShell插件调用该命令。但是在groovy脚本中没有片段可以使用它。 我也尝试过,但似乎此命令不允许在命令中包含多行和注释。 问题答案: 要从Groovy脚本调用PowerShell脚本,请执行以下操作: 您必须使用命令。 之后,您必须确保正确返回错误代码()变量(应导致

  • 问题内容: 您是否知道如何在内部执行AWS CLI命令以构建管道?我没有找到任何插件 问题答案: 首先,您需要在服务器上安装aws cli,并确保jenkins用户有权运行它。 或者在创建EC2实例时简单地使用Amazon AMI,它附带了aws cli。 使用适当的策略为角色分配实例。(在aws configure中使用用户密钥更简单) 在管道步骤中使用

  • 我有一个Jenkinsfile,其中构建和测试在同一个Slaver上运行。我的要求是,构建必须在一个从站(比如A)上,测试必须在另一个从站(比如B)上运行。 我刚刚设置了奴隶B,我可以看到我的奴隶A和B都在Jenkins- 以下是看到的问题: 1.)在构建阶段成功后,我得到以下错误: " java.lang.NoSuchMethodError:在步骤[archive,bat,build,catch