今朝は5時に起きました。
それでいつも通り走りに行き、帰ってきて前日の振り返りをしていたのですが、どうも冬の休み期間中に目標にしていたAWS上でbootstrap3で遊んでみるとか、サーバーサイドアプリを作ってみるとかそういうのが難しいのでは?と考え始めました。
そもそもが、「冬休み期間」っていつまでやねんってところだったですし、あんまり考えなしにやりたいことをリストアップして、毎日ちょっとづつやるスタイルで始めていたのでまぁそうなるよねって感じなんですが。
やっぱりここはTOCの人としては作業管理だろうと思いまして。
作業管理っていうか、作業のリストアップと見積もり、優先順位付けをして実績と比較して次の計画を立てる的なあれです。
ということで、「カンバン フィボナッチ」で検索。
こちらのサイトが面白そうだったので参考にさせていただきました。
Namiking.net オープンソースのかんばん式管理ツールを3つほど試してみた
TAIGA
https://taiga.io/
Wekan (旧LibreBoard)
http://newui.libreboard.com
Restyaboard
http://restya.com/board/
TAIGAは以前ちょっと使ってみたことがあります。
そしてWekanは会社の先輩がdockerに入れて現場に提供していた記憶があります。
Restyaboardは知りません。
ということで導入と使用方法が比較的簡単そうなWekanをAWSにdockerを入れて使ってみようと思いいろいろやりました。
dockerのインストール
AWSのイメージはUbuntuなのでこれを参考にdockerをインストール。
https://docs.docker.com/engine/installation/linux/ubuntulinux/
OSのリリース番号を調べる
$ uname -r 4.4.0-57-generic
4.4.0とかそういうやつですね。新しい。
パッケージ情報の更新と、「https動作」「CA証明書のインストール」確認
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates
GPGキーのローカルキーチェーンへの取り込み
$ sudo apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net:80 \ --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
GPGキーについてはこちら を参照。
対応するリポジトリを探す
Ubuntu version | Repository |
---|---|
Precise 12.04 (LTS) | deb https://apt.dockerproject.org/repo ubuntu-precise main |
Trusty 14.04 (LTS) | deb https://apt.dockerproject.org/repo ubuntu-trusty main |
Wily 15.10 | deb https://apt.dockerproject.org/repo ubuntu-wily main |
Xenial 16.04 (LTS) | deb https://apt.dockerproject.org/repo ubuntu-xenial main |
この表の中から自分の環境にあったリポジトリを調べておきます。
私の場合は一番下のXenialですね。
ちなみに$ cat /etc/lsb-release
でUbuntuのバージョンを調べられます。
dockerの取得先を定義して読み込む
echo "<REPO>" | sudo tee /etc/apt/sources.list.d/docker.list
この
ちなみに私の環境だとこうなりますね。
echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
で、この定義したファイル(/etc/apt/sources.list.d/docker.list)を読み込む。
sudo apt-get update
Linuxカーネルのパッケージを追加する?
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
ちょっとよくわからないんですがaufsストレージドライバー的なものをdockerが使えるようにするために「linux-image-extra-$(uname -r)」「linux-image-extra-virtual」とかが必要と書いてあるのでそのまま実行。
前後でdpkg -l | grep linux-image
を実行してちゃんとインストールされたことを確認しました。
dockerのインストールと起動
$ sudo apt-get install docker-engine $ sudo service docker start
やっとですね。これでdockerが動き出しました。
ユーザーをdockerグループに追加
$ sudo usermod -aG docker $USER
毎回sudoをつけてdokerを操作するのが面倒なので、普段操作するユーザーをdockerグループに入れます。
docker-composeの導入と必要なdockerイメージを取得する
ここからは主にこちらを参考に。
Namiking.net Wekan on Dockerでお手軽かんばん式プロジェクト管理
docker-composeってどうも、複数のdockerコンテナを使ってサービスを提供する場合なんかに、一個ずつ立ち上げるの面倒だね、とか立ち上げる順番が関係する、とかいろいろあるらしくその辺を定義ファイルに書いておけばコマンド一つで複数のdockerコンテナが立ち上がる というものだと理解しました。間違ってたらごめんなさい。誰か教えてください。
docker-composeのインストール
$ pip install -U docker-compose
これでインストールできます。ちなみに私の環境にはpipがなかったので事前にsudo apt install python-pip
を実行しておきました。
必要なdockerイメージを取得する
$ docker pull mquandalle/wekan $ docker pull mongo $ docker pull busybox
この辺りが必要そうだったのでpullで取得。
docker-compose.yml 設置
data: image: busybox volumes: - /data/db mongo: image: mongo volumes_from: - data restart: always wekan: image: mquandalle/wekan environment: MONGO_URL: mongodb://db ROOT_URL: http://example.com:8080 links: - mongo:db ports: - "8080:80" restart: always
カレントディレクトリの下にdocker作業用のフォルダを作って、その配下に、上記内容でdocker-compose.ymlを作成。(作成場所ってこんなところでいいんだろうか?)
ROUT_URLは自分のAWSのURLにしました。適宜修正してください。
ちなみに最初は「http://localhost:8080」と書いて動かしていたんですが、一部(カンバンにカードを追加した後のカード詳細入力画面)でURLがおかしくなってしまって動かなかったのでAWSのURLに書き直しました。
そういえばこの時、一度作ったdockerコンテナを全部削除(docker stop, docker rm)したのでWekanで作ったユーザーとかも消えてしまったんだけど、必要な部分だけ修正してデータを残すなんてっことはどうやったらできるんだろう?
Docker起動
$ docker-compose up -d
これで、docker-compose.ymlで定義した3つのdockerコンテナが動きます。
動作確認
http://(SERVER_IP):8080/
動作確認します。以下画面が表示されれば成功です。
カンバンの画面
こんな画面でタスクの管理をやっていくみたいです。
最後に
aws上にdockerを入れてWekanを動かしてみるというのをやってみました。
意外に短時間でできたので興味ある方はやってみてはいかがでしょうか?
私の場合はdockerのことも知らな買ったし、ubuntuもほぼ触ったことないしでいろいろ調べながらで4時間かかりましたが、次からは数十分でサービスを構築できそうな気がしています。
ちなみに、当初の目的だった作業の見積もりや優先順位付け、実績との比較みたいなのがWekanではできないみたいです。(ぱっと見できなそう。工夫すればできるかもだけど)
全く目的は達成できなかったけど、よくわからない達成感は感じてしまっているこの状態。
ダメですね。頑張ります。