在go項(xiàng)目中通過(guò)docker file 來(lái)構(gòu)建鏡像,使用鏡像來(lái)進(jìn)行后續(xù)的工作,是非常高效且常用的工作模式。但如果項(xiàng)目中引入私有倉(cāng)庫(kù)幢尚,這時(shí)通過(guò)docker file 文件構(gòu)建時(shí),會(huì)遇見(jiàn)一下幾個(gè)問(wèn)題:
1. 私有倉(cāng)是http協(xié)議的問(wèn)題
//需要在docker file 文件中 新增 命令
ENV GOINSECURE=".myname.com,.gitlab.com,*.gitee.com"
//使用http 協(xié)議拉取代碼
2. 私有倉(cāng)拉去代碼的賬號(hào) 密碼問(wèn)題
方案一:
在原始的鏡像基礎(chǔ)上翅楼,構(gòu)建自己的鏡像(已保存git 相關(guān)賬號(hào) 密碼)尉剩,業(yè)務(wù)中docker file 以自己鏡像為基礎(chǔ),再開(kāi)構(gòu)建毅臊。
docker run -it golang:1.16 /bin/sh
//to do
git config --global credential.helper store
git config --global user.email "你的郵箱"
git config --global user.name "你的github用戶名"
// 構(gòu)建自己的鏡像
docker commit CONTAINER 新鏡像[:TAG]方案二
首先在git 中配置SSH 等配置
拷貝密鑰理茎,設(shè)置私有庫(kù)拉取
ADD ./.ssh/ /root/.ssh
//配置自己項(xiàng)目地址 (git 代替http)
RUN git config --global url."git@gitlab.com:".insteadOf "http://git.gitlab.com/"
RUN go mod tidy