1

由于公司政策,我们有一个未连接到 Internet 的 CI/CD 服务器。

我想在这个服务器上运行单元测试。

我被允许 WinScp 文件给它。为了让它工作,我想我将从我的源 Windows 机器上的所有文件通过 FTP 文件进行编译,本质上是从 GOPATH 目录中复制所有文件。

但是我仍然会出错,例如我实际上有这个文件 /export/home/teamcity/go/src/github.com/jinzhu/copier@v0.0.0-20190924061706-b57f9002281a

Gopath 设置 [17:40:40][步骤 1/1] GOPATH="/export/home/teamcity/go"

但是 CI/CD 构建给出了这个错误

[步骤1/1] 去:github.com/jinzhu/copier@v0.0.0-20190924061706-b57f9002281a: git fetch -f https://github.com/jinzhu/copier refs/heads/ :refs/heads/ refs/ tags/ :refs/tags/ in /export/home/teamcity/go/pkg/mod/cache/vcs/556feec929544a421f03ed1922f1d1bfffe10a3eaaf694889bbdbe940ff02899:退出状态128:[17:40:41] [步骤1/1]致命:无法访问' https://github.com/jinzhu/copier/':无法解析主机:github.com;名称或服务未知

有没有人在没有连接到 Internet 的服务器上编译 Golang 代码的经验?

4

1 回答 1

0

你应该看看go modules的官方文档来了解它是如何工作的。

在您的情况下,只需先下载所有依赖项:

go mod download

然后将所有依赖项复制到您的项目中:

go mod vendor

之后,将此供应商与您的代码一起发送。它包括在您的服务器上构建所需的所有软件包。

go build -mod vendor
于 2021-03-24T10:01:04.887 回答