Неверный путь к файлу в Дженкинсе - PullRequest
0 голосов
/ 09 октября 2019

Я не могу создавать свои приложения на 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, но после обновления go до 1.13.1 кажется, что это показывает проблему.

1 Ответ

1 голос
/ 09 октября 2019

Учитывая, что [[ является zsh / ksh / bash встроенным , убедитесь, что ваш скрипт работает с bash.

Он должен начинаться с правильного shebang :

#!/bin/bash
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...