有没有一种方法可以使用bazel从私有仓库导入go模块

0g0grzrc  于 2023-10-14  发布在  Go
关注(0)|答案(1)|浏览(101)

我有一个使用bazel管理的go项目。我想从私有仓库添加外部依赖。我可以使用go_repository结构从公共仓库添加包:

go_repository(
    name = "com_github_pkg_errors",
    commit = "816c9085562cd7ee03e7f8188a1cfd942858cded",
    importpath = "github.com/pkg/errors",
)

但是如果对私有仓库使用同样的东西,模块获取会失败

Error in download_and_extract: java.io.IOException: Error downloading [https://github.com/<my-private-repo>/<my-package>/archive/refs/tags/v1.0.0.zip] to /private/var/tmp/_bazel_Mahima.Gupta/34cbf2084d2922d4b41317a7d830e0a8/external/<target-name>/temp8433105752417763970/v1.0.0.zip: GET returned 404 Not Found

有没有一种方法可以从一些私有的repo中获取模块?

pbossiut

pbossiut1#

要设置Bazel配置选项,请创建一个.bazelrc文件。
在.bazelrc文件中添加您的私有存储库凭据,您可以指定访问私有存储库所需的凭据。
为你的私有包指定go_repository,使用go_repository结构,就像你对公共包所做的那样,但是这次是为你的私有仓库。确保提供私有存储库的完整URL,包括身份验证令牌(如果需要)。
更新你的BUILD文件,你现在可以使用你在go_repository结构中定义的名字来指定你的私有包的依赖项。确保可见性是公开的。visibility = ["//visibility:public"]

相关问题