在Jenkins中构建的路径名称不正确

时间:2019-10-09 03:03:11

标签: go jenkins go-modules

我无法在Jenkins上构建我的应用程序。我尝试在本地构建它,并且可以正常工作。我的应用使用go wrapper和go mod

这是詹金斯根据失败而导致的结果:

./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之后,似乎显示了问题。

1 个答案:

答案 0 :(得分:1)

考虑到[[zsh/ksh/bash built-in,请确保您的脚本使用bash运行。

它应该以正确的shebang开头:

#!/bin/bash