Я создаю приложение go с помощью Jenkins Pipeline, сначала я добавляю все свои зависимости go в директории поставщика и push в VCS, а затем извлекаю весь код при сборке в Jenkins, это работает нормально.
Затем я хочу перейти на модули go, поскольку у меня есть зависимость от приватной библиотеки в Gitlab, поэтому я изменяю файл netrc на сервере Jenkins, как показано на этой странице: git_https и 'gobuild 'отлично работает на локальном компьютере и загружает все зависимости, как и ожидалось, но на сервере Jenkins есть некоторые проблемы.Вот мой файл Jenkinsfile:
pipeline {
agent any
stages {
stage('build') {
agent {
docker { image 'golang:1.12' }
}
steps {
sh "export XDG_CACHE_HOME=/tmp/.cache \
&& go build"
}
}
}
}
Как показывает код, я использую 'go build' для запуска процесса сборки модуля go, но все же я получаю эту ошибку при сборке:
go get gitlab.com/gbuda/dblib: git ls-remote -q origin in /go/pkg/mod/cache/vcs/a8fb1674af641945219afa3eee63923c22afe0df48bc030a6bf714abb7116332: exit status 128:
fatal: could not read Username for 'https://gitlab.com': terminal prompts disabled
If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.
gitlab.com/gbuda/dblib
мой частный репозиторий, кажется, что конфигурация в netrc
на сервере Jenkins не работает, как я могу решить эту проблему?Спасибо за любой совет.