bash - 在 Jenkins 中使用脚本在不同阶段运行

标签 bash shell go groovy

我运行以下有效的脚本

 sh """
    mkdir -p /go/src/git.company/mfr/go-proj
    cp -R $WORKSPACE/* /go/src/git.company/mfr/go-proj
    cd  /go/src/git.company/mfr/go-proj
    go test -v ./...
 """

但是当我这样运行时我得到了错误,为什么?

 sh   "mkdir -p /go/src/git.company/mfr/go-proj"
 sh   "cp -R $WORKSPACE/* /go/src/git.company/mfr/go-proj"
 sh   "cd  /go/src/git.company/mfr/go-proj"
 sh   "go test -v ./..."

知道为什么吗?

文件以#!/usr/bin/env groovy 开头

最佳答案

每个“sh”都是唯一的调用。环境不共享。

以下将在两个 不同的 shell 下运行。目录的更改不会反射(reflect)到“去测试”行

 sh   "cd  /go/src/git.company/mfr/go-proj"
 sh   "go test -v ./..."

关于bash - 在 Jenkins 中使用脚本在不同阶段运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53507773/

相关文章:

linux - 远程运行 shell 脚本时如何解决依赖关系?

Bash 脚本 - 意外的标记 fi

linux - Postfix 后队列内容过滤器不起作用

linux - 脚本 - 复制行和第二行如果第二行有字符串

bash 读取命令

pointers - 关于接口(interface)分配

go - 使用 git2go 从远程执行 git fetch && git merge

bash - bash 命令替换期间的空白变量

linux - bash 中的 awk 语句在 for 循环中不执行

go - 检查文件是否位于给定目录中