Go3 Advent Calendar 2017 - Qiita
23日目
GoのアプリケーションのリポジトリをBitBucketに作っているので、WerckerでのCIを試した。
シンプルで綺麗なパスでアプリケーションを作っている場合、
多分Werckerにてアプリケーションを登録する際に表示されるサンプルそのままのwercker.ymlでそのまま動くのではないかと思う。
ただ、今回のアプリケーションはパッケージ管理にglideを使っているのでそのままでは動かない。
ちなみにフォルダ構成としては、下記に降りたところにアプリケーションが入ってる。
/src/myapp
Dockerコンテナ内では上記のルートをGOPATHとしている。ちょっと変な構成。
とりあえず動くところまでを調整してみた。
とりあえずなので変な感じになっている。
box: golang
build:
steps:
- setup-go-workspace
- script:
name: install glide
code: |
curl https://glide.sh/get | sh
# Gets the dependencies
- script:
name: glide install
cwd: src/crawler/
code: |
glide install
# Build the project
- script:
name: go build
cwd: src/crawler/
code: |
export GOPATH=/go/src/bitbucket.org/myaccount/myapp
go build
# Test the project
- script:
name: go test
cwd: src/crawler/
code: |
export GOPATH=/go/src/bitbucket.org/myaccount/myapp
go test $(glide novendor)
細かいところを補足していくと、まずglideのドキュメント通りにインストール
curl https://glide.sh/get | sh
最初に書いたとおりパスがちょっと違うので合わせる。
cwd: src/crawler/
code: |
glide install
パッケージの位置がずれて読み込めていなかったので、exportでGOPATHを指定している。
(ymlの設定であるかも?)
プロジェクトの環境変数を設定すると今度はglideのインストールとかがうまくいかなくなるのでここで指定している。
cwd: src/crawler/
code: |
export GOPATH=/go/src/bitbucket.org/myaccount/myapp
go build
こんな感じで通った。
あとはパイプラインでデプロイの処理などと繋げれば楽だと思う。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント