Как использовать go-модули в jenkins с частным репозиторием? - PullRequest
1 голос
/ 13 апреля 2019

Я создаю приложение 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 не работает, как я могу решить эту проблему?Спасибо за любой совет.

...