我一直在挖掘解决访问私有回购的docker构建阶段期间的问题。似乎使用'令牌'是实现这一目标的最简单且最合理的安全方式。
我遇到article,解释了这一点。在评论中有人建议改进添加github令牌。我无法让它在docker中工作。如何更改.gitconfig
并让git始终使用令牌?
此命令需要更改为使用令牌:
RUN echo "[url \"git@github.com:\"]\n\tinsteadOf = https://github.com/" >> /root/.gitconfig
评论:
如果有人可以帮助我过桥,那就太棒了。 THX更好的方法是生成一个只读的api令牌 访问该回购并使用
git config --global url."https://${TOKEN}@github.com/".insteadOf "https://github.com/"
之类的内容。 这样您就不需要包装器脚本或ssh主机密钥检查 你需要烘焙所有访问
答案 0 :(得分:3)
我通过运行以下RUN命令解决了它。确保在github上生成令牌时拥有正确的权限。
FROM golang:1.9
RUN git config --global url."https://USERNAME:TOKEN@github.com/".insteadOf "https://github.com/"
....
答案 1 :(得分:2)
您可以使用COPY命令而不是RUN。
COPY .gitconfig /root/.gitconfig