jenkins - Jenkins 自由式项目使用 Gitlab API Token 从不克隆存储库,没有错误,构建总是成功
问题描述
我已经按照这个 gitlab教程链接,将我的 jenkins 服务器连接到 Gitlab。
一切都很好,我已经:
- 在我的 GitLab 个人资料中创建了个人访问令牌
- 如教程中所述,在 jenkins 系统配置中使用我的 GitLab 访问令牌创建了 GitLab API 令牌
- 创建一个自由式詹金斯工作并从下拉列表中选择我的 GitLab 连接
- 选中将更改推送到 GitLab 时生成复选框。
- 检查接受的合并请求事件和关闭的合并请求事件复选框
- 从上述自由式项目生成一个秘密令牌
- 在 GitLab 项目存储库集成设置中使用 freestyle jenkins 项目秘密令牌创建 webhook
直到那里一切都很顺利。然后我添加并推送包含 a 的代码jenkinsFile
到我的 GitLab 存储库,并进入 Jenkins WebUI 以查看构建状态,但管道显示绿色表示构建成功,虽然没有发生任何事情,但没有从 GitLab 检索到代码(如附加控制台输出屏幕截图),因此没有jenkinsFile
显示执行或错误消息。
我尝试从 WebUI 手动运行构建,但结果相同,无法git push events
从 GitLab触发我的管道
我想可能我应该Git
在Source Code Management
部分中选择(我留给它,None
因为教程没有提到它)但是如果我选择 Git 作为 SCM,我无法选择我的 GitLab API 令牌凭据,好像我们不能使用 GitLab 插件(API 令牌)和 Git 插件用于相同的构建项目。
那么,我应该如何继续使用 GitLab API Token 使用 jenkinsFile 从 GitLab 构建我的 jenkins 项目?GitLab 教程是否遗漏了一些有用的步骤?
解决方案
好的,我想我现在明白了这个问题。有两组凭据:GitLab API token
用于访问 GitLab Webhooks 和一组用于在构建期间克隆 git 存储库的单独凭据。
所以我们不能使用GitLab API token
来克隆存储库。为此,您必须使用 SSH 密钥或用户名/密码组合。此外,此下拉列表是git 插件而不是gitlab 插件的一部分。因此gitlab 插件无法判断哪些凭据可用作此下拉列表的凭据。
推荐阅读
- python - 使用一个 Flask 路由将来自 BigQuery 的多个查询返回到 html 表中
- kubernetes - 为什么 client.Update(...) 会忽略非原始值?
- vb.net - 向后搜索文件夹中的文件
- flutter - 如何使 ListView 项目在具有固定高度的容器底部对齐,而不在 Flutter 中使用反向?
- c# - ASP.Net Core + .NET Framework Web API - 频繁的网络错误
- android - AutoCompleteTextView - 在弹出窗口可见时旋转设备时崩溃
- javascript - javascript递归函数concat不起作用
- swift - 如何获得一个滑块来更改 Swift 中的背景颜色?
- python - 在 elasticsearch python 客户端中找不到索引的优化功能
- python - 熊猫read_excel跳过Capital IQ系列?