我正在两个单独的CI工具上运行go build命令golang:1.11-alpine。如您所见,命令是完全相同的,而docker映像是完全相同的。
出于某种原因,当我在alpine:3.9docker映像上运行已编译的可执行文件时,仅运行bitbucket。
对于Circle CI构建,出现以下错误:
standard_init_linux.go:207:exec用户进程导致“ exec格式错误”
我在网上阅读这可能是体系结构问题,所以我file <file>在终端中做了一个,看来两者都是以相同的方式编译的。这是我收到的两个文件的响应(相同):
云:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接,解释器/lib/ld-musl-x86_64.so.1,已剥离
docker:
- image: golang:1.11-alpine
steps:
- checkout
- run:
name: Build Go Server
command: |
apk add --no-cache git build-base
export GOPATH="$HOME/go"
export PATH="$PATH:$GOPATH/bin"
go get -u github.com/golang/lint/golint@v0.0.0-20190227174305-8f45f776aaf1
go mod vendor
golint -set_exit_status $(go list ./... | grep -v /vendor/)
go test -short $(go list ./... | grep -v /vendor/)
go build -ldflags="-s -w"
Run Code Online (Sandbox Code Playgroud)
steps:
- step: …Run Code Online (Sandbox Code Playgroud)