Konboi Note

Go×glideで管理されたプロジェクトで定期的にライブラリをアップデートするには

はじめに

vendering するならきちんとバージョン管理をしつつ各ライブラリの最新版に対応していきたい

そのために定期的にライブラリのバージョンをアップデートしつつ問題ないかを確認したい

他の言語の場合

Ruby

GemfileGemfile.lock

bundle update で更新

tachikoma を使って定期的に実行すればできそう

Perl

cpanfilecpanfile.snapshot

carton update で更新

今なら Carmel なのか?
ただ他での活用事例はあまり効かない気がする

Goでどうやるか

glide.yamlglide.lock で管理し glide up で更新できるので

  1. git pull origin master で最新状態に
  2. glide up で依存ライブラリを更新
  3. glide.yaml, glide.lock に差分があれば新しいbranchを切る
  4. glide.yaml, glide.lock の更新を commit
  5. master ブランチへ PR

以上の流れを定期的に実行すればとりあえずは大丈夫じゃないかと思う

tachikoma を使うこともできそうだがGoのみのプロジェクトなのでこれだけのために入れるのはちょっと大げさかなと思う。

CircleCIを使ってbundle updateを定期実行するで紹介されているやり方の部分のRuby/bundlerGo/glideに置き換えればいいんじゃないかと思った

参考URL