Gitlab-CI自动化构建内网Go应用程序
使用Gitlab-CI自动化构建内网Go应用程序,将面临以下的挑战:
- 大型项目中通常使用 go modules 进行管理
go.xin****ech.cn
表示内部的GO包管理地址,类似于 http://go.uber.org/ 的站点gitlab.x**i.cn
表示内部的gitlab仓库地址go.xin****ech.cn/xws**/**-service-mgr
表示内部gitlab的其中的project地址
其中,一个比较大的麻烦在于,如何让被编译的应用程序,安全的访问到gitlab,下载处于内网环境的go modules依赖。
其中的诀窍在于把"https://gitlab.x**i.cn"
替换为"https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.x**i.cn"
,其中CI_JOB_TOKEN
为gitlab-ci临时生成的访问token,仅在编译过程中可以使用。
|
|
参考链接:https://docs.gitlab.com/ce/user/project/new_ci_build_permissions_model.html