首页 > 解决方案 > Jenkins 自由式项目使用 Gitlab API Token 从不克隆存储库,没有错误,构建总是成功

问题描述

我已经按照这个 gitlab教程链接,将我的 jenkins 服务器连接到 Gitlab。

一切都很好,我已经:

直到那里一切都很顺利。然后我添加并推送包含 a 的代码jenkinsFile到我的 GitLab 存储库,并进入 Jenkins WebUI 以查看构建状态,但管道显示绿色表示构建成功,虽然没有发生任何事情,但没有从 GitLab 检索到代码(如附加控制台输出屏幕截图),因此没有jenkinsFile显示执行或错误消息。

我尝试从 WebUI 手动运行构建,但结果相同,无法git push events从 GitLab触发我的管道

在此处输入图像描述

我想可能我应该GitSource Code Management部分中选择(我留给它,None因为教程没有提到它)但是如果我选择 Git 作为 SCM,我无法选择我的 GitLab API 令牌凭据,好像我们不能使用 GitLab 插件(API 令牌)和 Git 插件用于相同的构建项目。

那么,我应该如何继续使用 GitLab API Token 使用 jenkinsFile 从 GitLab 构建我的 jenkins 项目?GitLab 教程是否遗漏了一些有用的步骤?

标签: jenkinsgitlabjenkins-pipeline

解决方案


好的,我想我现在明白了这个问题。有两组凭据:GitLab API token用于访问 GitLab Webhooks 和一组用于在构建期间克隆 git 存储库的单独凭据。

所以我们不能使用GitLab API token来克隆存储库。为此,您必须使用 SSH 密钥或用户名/密码组合。此外,此下拉列表是git 插件而不是gitlab 插件的一部分。因此gitlab 插件无法判断哪些凭据可用作此下拉列表的凭据。


推荐阅读