My Gitlab CI Auto DevOps job failed with
Status: Downloaded newer image for gliderlabs/herokuish:latest -----> Unable to select a buildpack ERROR: Job failed: exit code 1
I've gone through
and am still not sure where I should put the buildpack.
Mine should be heroku-buildpack-go
, which I've lost track where I get that from.
My repo consist only a single-character README.md
, and the "Hello, playground" main.go
.
Conclusion:
Thanks to David's comprehensive explanation, I was able to get DevOps started with correct buildpack:
From this I would conclude that your single .go file at the root of the directory tree does not meet the activation criteria for auto-building Go projects. I'd suggest picking one of the dependency managers in the requirements above and modifying your project to support it.
FTA, I just did touch go.mod
then git add
& git push
and the AutoDevops started building my GO project indeed.
However it seems to me that Gitlab AutoDevops is not able to build any GO projects very easily, as I get the following error (with project variable TRACE=true
):
... !! The go.mod file for this project does not specify a Go version !! !! Defaulting to go1.11.1 !! !! For more details see: https://devcenter.heroku.com/articles/go-apps-with-modules#build-configuration !! -----> Installing go1.11.1 -----> Fetching go1.11.1.linux-amd64.tar.gz... done !! Installing package '.' (default) !! !! To install a different package spec add a comment in the following form to your `go.mod` file: !! // +heroku install ./cmd/... !! !! For more details see: https://devcenter.heroku.com/articles/go-apps-with-modules#build-configuration !! -----> Running: go install -v -tags heroku . go: cannot determine module path for source directory /tmp/build (outside GOPATH, no import comments) ERROR: Job failed: exit code 1
The easier solution is to use .gitlab-ci.yml
file instead, documented in
https://blog.boatswain.io/post/build-go-project-with-gitlab-ci/
(and followed up at Gitlab CI - Start Shared Runner for normal repos).