Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建Go项目:Go mod下载vs Go build_Go_Build_Circleci_Go Modules - Fatal编程技术网

构建Go项目:Go mod下载vs Go build

构建Go项目:Go mod下载vs Go build,go,build,circleci,go-modules,Go,Build,Circleci,Go Modules,我是新来的,正在尝试找出如何在我的circleci项目中执行构建步骤 我注意到在CircleCI中没有使用go build,这让我感到困惑,因为在CircleCI中,他们通过 所以我不确定单独使用Go-orb是否足够(尽管这对我来说很奇怪)。我模模糊糊地理解什么是,什么是,但我看到了它们一起使用的地方: RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build 目前,根据go orb使用文

我是新来的,正在尝试找出如何在我的circleci项目中执行构建步骤

我注意到在CircleCI中没有使用
go build
,这让我感到困惑,因为在CircleCI中,他们通过

所以我不确定单独使用Go-orb是否足够(尽管这对我来说很奇怪)。我模模糊糊地理解什么是,什么是,但我看到了它们一起使用的地方:

RUN go mod download

COPY . .

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
目前,根据go orb使用文档,我有:

  build:
    executor: go
    steps:
      - checkout
      - go/load-cache:
          key: go-mod-v1-{{ checksum "go.sum" }}
      - go/mod-download
      - go/save-cache:
          key: go-mod-v1-{{ checksum "go.sum" }}
      - slack/notify:
          event: fail
          template: basic_fail_1   
通过使用
go mod download
而不是
go build
go build
使用
go mod download
,我遗漏了什么或无意中包含了什么?

详细文档,所有依赖项都将在不提供参数的情况下下载

在没有参数的情况下,download应用于main的所有依赖项 模块

问题中的行似乎是CI作业完整说明的子集。来自的示例建议了一个构建步骤,该步骤对于获取可执行文件是必需的


任何命令都允许选择有关依赖项的行为。正如所建议的那样,单独下载go mod取决于环境的限制。

您测试过吗?输出是如何不符合您的期望的?在构建CI/CD设置中执行
go mod download
的优点是,如果
go mod download
失败,则您的单个步骤失败,并且很明显(er)您的构建管道在查找或访问依赖项时遇到问题,而不是在编译代码时遇到问题这有助于更快地发现问题(例如私人回购)。