как клонировать приватный репозиторий gitlab в Jenkinsfile - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь сделать клон git частного репозитория gitlab внутри сценария оболочки в Jenkinsfile, и я просто не смог найти способ. Я имею в виду, что это простой клон git, и я не могу поверить, что я должен прийти сюда, чтобы обратиться за помощью в такой простой задаче. К сожалению, поддержка gitlab всегда сопряжена с дополнительными затратами по сравнению с github.

Еще одна неприятная вещь - я искал целое число rnet и не могу найти решение своей проблемы. У меня есть плагин Gitlab, и я также пытался использовать токен gitlab api, но в jenkins нет поддержки токена gitlab api .. нет способа использовать его с withcrdentials или любым другим способом

Я также пробовал регулярно с учетными данными с именем пользователя и паролем, и это не работает либо

также пробовал http и git URL-адрес репо, http говорит, что не найден, а git или s sh выдает ошибки ключа хоста

что я пробовал

   steps {
     git url: 'https://gitlab.example.com/user/example_repo.git', branch: 'master', credentialsId: 'my-gitlab-repo-creds'
   }

получил эту ошибку

git: 'url:' не является командой git. См. git --help.

Вы имели в виду это? prune

другие ошибки из других проб и ошибок

Клонирование в 'example_repo' ... Ошибка проверки ключа хоста. Неустранимый: Не удалось прочитать из удаленного хранилища.

Убедитесь, что у вас есть правильные права доступа, и хранилище существует.

и

Клонирование в 'example_repo' ... fatal: не удалось прочитать имя пользователя для 'https://gitlab.example.com': нет такого устройства или адреса

1 Ответ

1 голос
/ 10 января 2020

Я бы рекомендовал использовать checkout шаг конвейера вместо git.

            checkout([$class: 'GitSCM',
                branches: [[name: '*/master' ]],
                extensions: scm.extensions,
                userRemoteConfigs: [[
                    url: 'https://gitlab.example.com/user/example_repo.git',
                    credentialsId: 'my-gitlab-repo-creds'
                ]]
            ])

https://jenkins.io/doc/pipeline/steps/git/

...