【发布时间】:2019-08-10 15:05:51
【问题描述】:
我已经为我的 Github 项目 Captain 设置了 travis 构建
.travis.yml的内容是:
language: go
go:
- 1.12.x
script:
make
env:
- GO111MODULE=on GOPROXY=https://proxy.golang.org
我Makefile的内容是:
# Go parameters
BINARY_FOLDER=./bin
GOCMD=go
GOBUILD=$(GOCMD) build
GOCLEAN=$(GOCMD) clean
GOTEST=$(GOCMD) test
GOGET=$(GOCMD) get
BINARY_NAME=captain
BINARY_UNIX=$(BINARY_NAME)_unix
all: test build
build:
$(GOBUILD) -o $(BINARY_FOLDER)/$(BINARY_NAME) ./cmd/...
test:
$(GOTEST) -v ./...
clean:
rm -rf $(BINARY_FOLDER)
run: all
$(BINARY_FOLDER)/$(BINARY_NAME)
# Cross compilation
build-linux:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_UNIX) -v
docker-build:
docker run --rm -it -v "$(GOPATH)":/go -w /go/src/bitbucket.org/rsohlich/makepost golang:latest go build -o "$(BINARY_UNIX)" -v
当 travis 构建触发时,它会报错:
go test -v ./...
go: finding github.com/gorilla/mux v1.7.3
go: finding github.com/lib/pq v1.2.0
go: finding github.com/google/uuid v1.1.1
go: finding github.com/DATA-DOG/go-sqlmock v1.3.3
go: downloading github.com/DATA-DOG/go-sqlmock v1.3.3
go: downloading github.com/lib/pq v1.2.0
go: extracting github.com/DATA-DOG/go-sqlmock v1.3.3
go: extracting github.com/lib/pq v1.2.0
# github.com/alwindoss/captain/cmd/captain
cmd/captain/main.go:4:2: undefined: Run
=== RUN TestCreateWorklistPositiveScenario
2019/08/10 14:56:19 Creating Worklist
2019/08/10 14:56:19 {"id": "ID", "name": "name"}
2019/08/10 14:56:19 Creating worklist in the RDBMS Store
2019/08/10 14:56:19 Last Inserted ID: 1
2019/08/10 14:56:19 ID = 1, affected = 1
--- PASS: TestCreateWorklistPositiveScenario (0.00s)
=== RUN TestCreateWorklistWhenBadRequestIsSent
2019/08/10 14:56:19 Creating Worklist
2019/08/10 14:56:19 This is a bad request
--- PASS: TestCreateWorklistWhenBadRequestIsSent (0.00s)
PASS
ok github.com/alwindoss/captain/internal/handler 0.005s
Makefile:15: recipe for target 'test' failed
make: *** [test] Error 2
在作业日志中,我看到我的所有测试都通过了,但构建并没有超出这个范围。相同的 Makefile 在我的 Mac 上本地运行没有问题。
我不确定问题出在哪里。在 Makefile 或我配置 Travis CI 的方式中。
【问题讨论】:
-
cmd/captain/main.go:4:2: undefined: Run是实际错误 -
@Flimzy 这是错误,它在我的笔记本电脑上传递,因为我的系统中有那个文件,它是该文件所在的文件夹在
.gitignore中被忽略,因此它没有被推送到Github 存储库。感谢您的帮助! -
我很高兴你成功了!