我无法在 Jenkins 上构建我的应用程序。我尝试在本地构建它并且它可以工作。我的应用程序使用 go wrapper 和 go mod
这是 Jenkins 根据失败得出的结果:
./build.sh: 6: ./build.sh: [[: not found
go get .: path /var/lib/jenkins/workspace/_XXX_develop is not a package in module rooted at /var/lib/jenkins/workspace/_XXX_develop
ERROR: go get
我像这样使用自定义 build.sh(仅在出现问题时从第 1-6 行开始):
CWD=$(cd . && pwd)
PRG=$0
BASEDIR=$(cd "$(dirname ${PRG})" && pwd)
BASENAME=$(basename ${PRG})
APPNAME=${BASENAME}
while [[ -L "$BASEDIR/$BASENAME" ]]; do
PRG=$(readlink "$BASEDIR/$BASENAME")
BASEDIR=$(cd "$BASEDIR" && cd "$(dirname ${PRG})" && pwd)
BASENAME=$(basename "$PRG")
done
我从不使用 $GOPATH,因为我使用的是 go-mod。我已经很容易地使用了这个 build.sh 和 jenkinsfile,但是在更新到 1.13.1 之后,它似乎出现了问题。
最佳答案
考虑到 [[
是 zsh/ksh/bash built-in ,请确保您的脚本使用 bash 运行。
它应该以正确的 shebang 开头:
#!/bin/bash
关于go - 在 Jenkins 中构建的路径名不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58296485/