使用 HTTPS 从 gitlab CI 作业克隆私有存储库,而不将我的凭据暴露到 CLI 中

2024-01-05

我有一个 gitlab ci 工作,可以为我做一些工作,但它依赖于另一个存储库,所以我需要在这个工作中克隆另一个存储库。我无法使用 https 克隆,因为 gitlab 会要求我提供用户名和密码,并且 gitlab ci 是非交互式的。
那么如何在 gitlab ci 作业中使用 https 克隆 gitlab repo。
提前致谢。


I have found a way to authenticate my cloning. First, I navigate to my gitlab account setting then navigate to access tokens tab.enter image description here Then create new access token with any name and you can leave expiring date empty (but for security, I have set an expiring date) then choose the right scope you want. In my case, I have read the repo scope.

然后我使用生成的访问令牌使用 https 克隆我的存储库,如下所示

https://oauth2:[email protected] /cdn-cgi/l/email-protection/PATH/TO/YOUR/REPO.git

To prevent CLI from exposing your access token you have to add your access token in CI variables list from gitlab as masked. SO when cloning is executed your access token will not be displayed. And then will access it as follow

https://oauth2:[email protected] /cdn-cgi/l/email-protection/PATH/TO/YOUR/REPO.git
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 HTTPS 从 gitlab CI 作业克隆私有存储库,而不将我的凭据暴露到 CLI 中 的相关文章

  • 是否可以在 Git 项目的所有分支中执行“grep 搜索”?

    是否可以运行git grep在 Git 控件源项目的所有分支中 或者还有其他命令要运行吗 问题 如何在 Git 历史记录中 grep 搜索 提交的代码 https stackoverflow com q 2928584 6309 建议 gi
  • 如何在 gitolite 中安装钩子

    我已阅读全部关于钩子的文档 https github com sitaramc gitolite blob pu doc 2 admin mkd using hooks similar https stackoverflow com que
  • 从 Jenkins 中的 gitlab webhook 读取 json 负载

    我跟着这个tutorial http chloky com github json payload in jenkins 设置 Jenkins 作业 以便在推送到 gitlab 存储库时运行 我测试了 webhook 可以看到该作业已被触发
  • 在 $git push -u origin main 命令之后,Git bash 不请求任何身份验证,实际上什么也不做

    当我尝试将代码上传到 github 时 以下是我在 Git Bash 终端中执行的步骤 当我尝试使用将代码推送到 github 时 git push u origin main光标移动到下一行并持续闪烁 但不执行任何操作 git remot
  • 从 svn 到 git,移动了主干

    我正在尝试将 svn 存储库切换到 git 这是一个旧的存储库 以前的维护者之一为每个新版本移动了主干 例如 以前的存储库位于 svn ssh svn mycompany com project release 1 trunk 现在 我们当
  • 如何从旧提交创建新的 Git 分支? [复制]

    这个问题在这里已经有答案了 可能重复 最近 不太明确的问题 使用 Git 从先前的提交分支 http stackoverflow com questions 2816715 branch from a previous commit usi
  • 如何在cygwin下更改git中文件的大小写?

    我们在区分大小写 不敏感的混合环境 cywgin linux 中工作 今天有人通过重命名文件 将 S 更改为 s 对我们的工作流程造成了小破坏 这导致了各种有趣的跨分支合并问题 而且说实话 没有人完全确定发生了什么 在 cygwin 的 g
  • 如何在 git merge 提交中列出冲突的文件(父级都有更改的文件)?

    qgit 有一个很好的选择 可以在合并提交中查看 有趣 的文件 其中有趣的文件被定义为在两个父文件中都有更改的文件 查看此类文件的相应命令行是什么 git show name status SHA1 of merge 将向您显示提交消息和在
  • 将 GitLab CI 变量注入 Terraform 变量

    我有一组 Terraform 文件 特别是一个 Variables tf 文件 它保存了我的变量 如 aws 访问密钥 aws 访问令牌等 我现在想使用 GitLab CI CD 在 AWS 上自动创建资源 我的计划如下 编写 gitlab
  • 使用 git 同时维护不同版本的代码

    我有一个需要优化的代码 我想同时维护一组版本的代码 每个版本可以描述为一些功能 优化的组合 最终 我将决定哪个版本是最好的 我不想将这些版本合并为更少的版本 但是 我希望能够对 大 源文件进行 小 修改 这可能会跨版本转移 并且我希望这一修
  • 运行 npm install - 如何配置不使用 SSH(端口被防火墙阻止)

    当我跑步时npm install大多数模块配置正确 然而 至少有人想击中ssh 拉取模块的地址 不幸的是 我的公司有一项政策 不允许内部网络之外的 SSH 连接 我收到的具体错误是 Error while executing npm ERR
  • 在“git revert --continue”期间绕过预提交挂钩

    我当时正在做一个git revert 之前的恢复 这导致了一些合并冲突 解决冲突后 我的预提交挂钩引发了一些代码嗅探器问题 由于这些代码嗅探器通知已在其他地方修复 我想在此时使用绕过预提交挂钩git revert continue no v
  • git pull 保留本地未提交的更改

    即使存在上游更改 如何安全地更新 拉取 git 项目 保持特定文件不变 myrepo config config php 有没有一种方法 即使这个文件在远程被更改 当我 git pull 时 其他所有内容都被更新 但这个文件没有改变 甚至没
  • git fetch 失败“refs/remotes/origin/pr/34 同时跟踪两者”

    我是 git 新手 我被困在 git fetch 上 我在 TFS 和 SVN 上有更多经验 所以欢迎任何类比 所以我在 Github 上找到了一个我分叉的项目 源项目 Xpose 有色状态栏 https github com Mohamm
  • 推送后删除敏感数据

    因此 我正在开发一个项目并添加一个 gitignore 文件以防止包含一些敏感数据 但它无法按预期工作 现在我已经推送了它 有没有办法从远程存储库中删除它 这样历史记录中就没有它的证据了 您可以在本地恢复更改 git commit amen
  • 在接受提交之前在 git 中强制执行代码标准

    好吧 场景如下 开发团队希望确保所有新代码都符合定义的编码标准 并且在接受提交之前所有单元测试都已通过 诀窍是 所有测试都需要在专用测试机器上运行 并且我们无权修改 git 服务器 因此必须在每台开发机器上使用本地提交挂钩来完成 虽然规范非
  • 在VSO或VS2015中创建Git分支标签

    有没有办法在 vso 中创建分支标签 另外 我尝试在 VS2015 中创建标签并将更改提交推送到 vso 但我在 vso 中没有看到该标签 只是想知道 VS2015 VSO 标记功能是否到位 您在 VS2015 中创建的标签位于本地存储库中
  • 如何在不修改 git 历史记录的情况下在我的源代码上运行代码格式化程序?

    我正在尝试使用代码格式化工具格式化整个存储库 这样做时 我想保留有关谁提交了哪一行的信息 以便像这样的命令git blame仍然显示正确的信息 我的意思是它应该显示作者之前编辑过每一行 在格式化之前 git filter branch 命令
  • 将文件恢复到以前的版本后 git diff 显示没有差异?

    After 将文件恢复到以前的版本 https stackoverflow com questions 215718 reset or revert a specific file to a specific revision using
  • 具有共享代码库的多个产品的版本控制和发布管理

    我目前正在尝试弄清楚 在这样一种情况下 如何使用 git flow 进行发布管理 我有一个 git 存储库 其中包含两个解决方案中的大约 15 个项目以及数据库脚本 每个解决方案基本上都包含一个将生成可执行文件的项目和 10 多个包含两个解

随机推荐