# GO 编译构建依赖私有仓库 ![badge](https://cnb.cool/examples/ecosystem/code-review-notice/-/badge/git/latest/ci/pipeline-as-code) ![badge](https://cnb.cool/examples/ecosystem/code-review-notice/-/badge/git/latest/ci/git-clone-yyds) ![badge](https://cnb.cool/examples/ecosystem/code-review-notice/-/badge/git/latest/ci/status/push) 在当前的这个示例中,您将通过云原生构建实现,打包"springboot+gradle"项目, 构建Docker镜像并将它发布到制品库 # 前提条件 1. 使用 [云原生构建(CNB)](https://cnb.cool) 构建你的项目 2. 编写Dockerfile文件 3. 声明式的[构建缓存](https://docs.cnb.cool/zh/grammar/pipeline.html#volumes) 4. 了解[环境变量](https://docs.cnb.cool/zh/env.html)及其用法 5. 了解如何使用[Docker制品库](https://docs.cnb.cool/zh/artifact/docker.html) # 依赖分析 * 本仓库是一个 server 端 main 函数仓库(go-private-repo-server) * 本仓库依赖 [go-private-repo-dependency](https://cnb.cool/examples/ecosystem/go-private-repo-dependency) 的 v0.0.3 版本 * [go-private-repo-dependency](https://cnb.cool/examples/ecosystem/go-private-repo-dependency) 需要创建 [v0.0.3](https://cnb.cool/examples/go-private-repo-dependency/-/tags) 版本 tag # 云原生构建中构建依赖私有仓库依赖要点 * 配置 pipeline 配置 GOPRIVATE、GONOSUMDB 环境变量 * 配置 git config --global url."https://${CNB_TOKEN_USER_NAME}:${CNB_TOKEN}@cnb.cool".insteadOf "https://cnb.cool" # 本地开发中依赖私有仓库依赖要点 * 在 .bashrc 或 .zshrc 增加配置环境变量 ``` export GOPRIVATE=e.coding.net,cnb.cool export GONOSUMDB=e.coding.net,cnb.cool ``` * 配置 .netrc 账号密码为 cnb 的个人令牌 ``` machine cnb.cool login cnb password xxxxxxxx ```