CircleCI + Go 言語が楽になっていた
CircleCI の config.yml の様々が不要になっていた
従来の Go 言語プロジェクトの .circleci/config.yml
では GOPATH
を設定したり GO111MODULE
を設定したり、様々なケアが必要でした。
しかし現在の circleci/golang:latest
(1.13 ぐらい?) では Go Modules も有効になっているようで GO111MODULE
さえも必要なく、普通に get -> test -> build が行えます。
---
version: 2
jobs:
build:
docker:
- image: circleci/golang:latest
steps:
- checkout
- restore_cache:
key: mod-{{ checksum "go.sum" }}
- run: go get
- run: go test -v ./...
- run: go build -o main main.go
- store_artifacts:
path: main
destination: main
- save_cache:
key: mod-{{ checksum "go.sum" }}
paths:
- $GOPATH/pkg/mod
もちろん go mod init
で Go Modules を使うプロジェクトが前提になるでしょうが、かなりお気楽に CI できるようになってよいですね。