Digdagで特定のバージョンをインストールする方法


概要

Ansibleなどの構成管理ツールを利用して、DigdagのProvisioningをする際にDigdagのバージョン固定をした状態で導入することで、冪等性が保証されるようにする
※ 公式ドキュメントには最新版前提で書かれているため

対象読者

何らかの理由で、特定バージョンのDigdagを利用したい方
👉 概要での説明でも出てきた通り、プロビジョニングした際にバージョン固定をしたいなど

Digdag導入手順

1. 最新版を導入したい

まずは最新版の導入手順から、
Getting Started の手順では、最新版のjarを導入する手順が紹介されています。

上記公式ドキュメントに記載されていますが、Digdag導入は以下のたった3ステップでできてしまいます。
あら簡単

$ curl -o ~/bin/digdag --create-dirs -L "https://dl.digdag.io/digdag-latest"
$ chmod +x ~/bin/digdag
$ echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc

上記で分かる通り、jarをダウンロードするURLとして、
https://dl.digdag.io/digdag-latest
で最新版をGETできることがわかります

2. 特定バージョンを導入したい

次に、特定のバージョンを導入したい場合です。
ドキュメントには記載されていませんが、

上記URLの ${TARGET_VERSION} 部分を、Release Notes に載っている特定のバージョン番号で置き換えれば良いようです。

例えば以下のような感じで…

例1) 2017-01-10にリリースされた、0.9.2をダウンロードしたい
https://dl.digdag.io/digdag-0.9.2

例2) 2016-12-14にリリースされた、0.9.1をダウンロードしたい
https://dl.digdag.io/digdag-0.9.1

このようになります。

ですので最終的には下記のようにして、特定のバージョンを導入できます。

$ export TARGET_VERSION=0.9.1
$ curl -o ~/bin/digdag --create-dirs -L "https://dl.digdag.io/digdag-${TARGET_VERSION}"
$ chmod +x ~/bin/digdag
$ echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc

Ansibleなどでプロビジョニングする際のバージョンを固定する時に役立ちそうですネ!!!

参考

あとがき

ぜひDocumentからでも…Contributeしていきたいです(願望)
もしも何か不都合があれば、お知らせください