docker中accessTokens拉取私有git仓库

2023-05-16

背景

  • 当需要git clone拉取私有库时,传统的做法为将本机的ssh配置到gitlab中。但在docker中执行程序时需要拉取私有库,此时无法为每个docker容器配置ssh。网上的一种方案为,将配置好的ssh同步到docker容器中,覆盖其中的ssh秘钥等,但在尝试过程中,发现了问题,ssh秘钥需要验证是否被盗用(可能有解决办法),因此我尝试换种方案。

解决办法

  • 使用gitlab中的accessTokens。
    1、登录到GitLab.
    2、点击右上角的头像,然后选择设置 .
    3、在" 用户设置"菜单上,选择" 访问令牌" .
    4、选择令牌的名称和可选的到期日期.
    5、选择所需的范围 .
    6、单击创建个人访问令牌按钮.
    7、将个人访问令牌保存在安全的地方. 离开或刷新页面后,将无法再次访问它.

  • 从而在docker容器中可以通过如下方式使用:

git clone https://$accessUserName:$accessToken@gitlab.com/.../xxx.git
  • accessToken拉取仓库时通常使用的是https协议,但我们的脚本程序中有较多的拉取使用的git协议,为了统一处理,使用git config --global --add url."".insteadOf“”方式处理,如下所示:
export accessUserName="......."
export accessToken="........"
git config --global --add  url."https://$accessUserName:$accessToken@gitlab.com/".insteadOf "git@gitlab.com/"
git config --global --add  url."https://$accessUserName:$accessToken@gitlab.com/".insteadOf "git@gitlab.com:"
git config --global --add  url."https://$accessUserName:$accessToken@gitlab.com/".insteadOf "https://gitlab.com/"
git config --global --add  url."https://$accessUserName:$accessToken@gitlab.com/".insteadOf "https://gitlab.com:"

上述脚本执行完成之后,可在~/.gitconfig文件中看到git的替换规则

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker中accessTokens拉取私有git仓库 的相关文章

  • 查询对 git 存储库的最后一次提交而不进行克隆

    假设我希望从 URL 克隆一个大型 git 存储库 当且仅当在最后一次提交到 master 时n 比如 24 小时 我不想克隆它 因为对于这么大的存储库来说这相当耗时 我也不希望克隆它一次然后检查例如定期查看 git 状态 我希望能够知道克
  • 如何进行永久本地提交或更改

    我已经更改了我的项目的文件 配置文件 我希望此更改仅是本地的 因此从准备提交的更改列表中消失 有什么简单的方法可以做到这一点吗 请注意 配置文件定期存储在存储库中 一种方法是 git update index assume unchange
  • 如何使用docker将metricbeat连接到elasticsearch和kibana

    我已经使用 docker compose 设置了 elasticsearch 和 kibana elasticsearch部署在 localhost 9200当 kibana 部署在localhost 5601 当尝试使用 docker r
  • Git revert 导致合并冲突

    我创建了一个虚拟 txt 文件 并在每次提交中输入一个新行 例如 dummy txt first commit second commit third commit 现在我想通过恢复第二次提交来摆脱第二行 然而 我在这个简单的实验中收到了合
  • Dokku:从应用程序监听多个端口

    我正在使用 dokku 部署一个节点应用程序 带有express js 我的应用程序由 2 个 Express js 应用程序组成 它们监听两个不同的端口 一个是主应用程序 另一个是网络界面kue 一个简单的 Node js 作业队列 当我
  • 如何在 minikube VM 中挂载 Host 文件夹

    我有一个用例 我需要 kubernetes 下的 Docker 容器来访问主机路径 我使用的是 minikube 容器能够访问 minikube VirtualBox VM 中的文件夹 但我不知道如何让它访问主机本身上的文件夹 我在主机上执
  • 如何从现有 git 存储库中的文件夹创建新的 git 存储库?

    我想在现有 git 存储库下的文件夹中创建一个新的 git 存储库 我希望将历史记录保留在新存储库中 如何创建这个新的 git 存储库 您可以克隆它 然后在克隆上应用过滤器分支 以便拆分该存储库 仅提取所需的目录 及其完整历史记录 See
  • git-review -> 将草稿提升为代码审查

    我创建了一个 Gerrit 草稿 git review D 完成草稿后 如何创建代码审查以便最终将其合并到主版本中 如果我只是这样做 git review 我得到这个输出 git review remote remote Processin
  • p4 命令行相当于“git log -p”?

    我经常使用git log p
  • Docker Windows 本地注册表:收到意外的 HTTP 状态:500 内部服务器错误

    我正在尝试将 Windows 容器的映像推送到 Windows VM 上的 本地 存储库 该存储库具有自己的 IP 地址 因此 当我在虚拟机上创建注册表时 我可以通过转到 ipaddress 5000 来查看本地计算机上的存储库列表 但是
  • 传统 n 层设计中具有多个项目的 Git 存储库的最佳实践

    我正在从集中式 SCM 系统切换到 GIT 好吧 我承认是哪一个 它是 Visual SourceSafe 因此 除了克服 Git 命令和工作流程的学习曲线之外 我目前面临的最大问题是如何将我们当前的存储库迁移到 Git 对于单个存储库或多
  • 在 Git 上保存 Excel 文件的版本,以便稍后手动协调差异

    我将用一个月的时间更新Excel文件 这些文件的语言不是英语 我想我也可以使用 Git 来管理我想做的事情 情况 初始提交 我有一个用其他语言编写的 Excel 文件 我必须执行一些工作并用其中的数据填充 Excel 文件 My plan
  • 是否可以创建一个包含一个或多个容器的 docker 容器? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想创建一个包含一个或多个容器的 docker 容器 用 Docker 可以吗 在 docker 中运行 docker 绝对是可能的 最主
  • 如何查看 Git 中分支的远程更改?

    我在学习 Git 的时候肯定忽略了一些东西 毕竟我对此还很陌生 我的同事说他推迟了他对我在远程存储库中的提交所做的一些更改 然而 git log 没有这个新推送的记录 我怎样才能看到他推了什么 从而知道要拉哪个分支 你必须git fetch
  • JGit:如何压缩提交

    关于如何使用的任何建议RebaseCommand MergeCommand或者 JGit 中的任何其他命令来压缩提交 我找不到很多例子 文档也不是很有帮助 一个简单的例子 我想压扁下面的树 A B C D E F G H 进入这个 A Z
  • Git:如何处理不同的shebang

    人们如何处理本地和远程之间的不同 shebang 例如 我的本地 python 是 usr bin python 而我的 Web 主机是位于 local bin python 的专用 python 首席开发人员的 ruby 可能位于 usr
  • 在 Linux 上的 Azure Web App 中运行 dotnet core docker 映像时,找不到与命令“dotnet-/../.dll”匹配的可执行文件

    一 背景 我目前正在研究以下构建 部署管道 Github https github com devedse DeveMazeGeneratorCore https github com devedse DeveMazeGeneratorCo
  • wagon-git 和 Gradle

    这个不错的小工具承诺帮助我将工件上传到私人 Bitbucket 存储库 http synergian github io wagon git bitbucket html http synergian github io wagon git
  • 如何在一台电脑上拥有2个git用户?

    我想练习使用 GitHub 做拉取请求并学习如何观看git 差异不同用户之间 如何在 macOS 的终端上设置另一个用户帐户来执行此操作 如何在用户之间切换 充当第二用户有三个方面 1 GitHub账户 要以其他用户身份使用 GitHub
  • xcode 中的 Git(无分支)

    在我的 ios 项目中 我使用 git 作为 scm Xcode 存储库列表包括 至少在 Xcode 中 无分支 的内容 前段时间我可能检查了以前的提交 但没有创建分支 从那时起我已经做出了大约 40 次提交 现在我想从我的下一个最后提交分

随机推荐