皆さんカンバンボードは使っていますか?
ソフトウェア開発をいわゆる「アジャイル」として行っている方はおなじみの手法だと思います。
通常は物理的なホワイトボードに付箋を張り付けてタスクステータスを管理していることが多いかと思いますが。
ただ、昨今のリモートワークの増加に伴って、私が働いている現場でもソフトウェアツールとしてのカンバンボードを使って開発のプロセスやタスクを記載してプロダクトオーナーやチームメンバー内のタスク管理に利用するようになりました。
今回はOSSで使えるカンバンボードツールである「Wekan」をdockerコンテナで構築する機会があったので紹介いたします。
ソフトウェア開発以外でもカンバンボードのツールはタスク管理として非常に見やすく、操作自体も簡単なので開発以外の職種でも十分に使えると思います。
RedmineでのScrum用のカンバンボードPluginについての以下の記事で試していますので参考にしていただければと思います。
Bitnami RedmineにScrum Redmine Pluginを追加する
https://syachiku.net/docker-bitnami-redmine-scrum-add/
Wekanとは?
公式サイトから抜粋してみました。
特徴
・Wekanは世界のほとんどの国で使用されています。
・Wekanの最大のユーザーには、社内でWekanを使用している13,000人のユーザーがいます。
・Wekanは約62の言語に翻訳されています。
・特徴:Wekanはリアルタイムのユーザーインターフェースを備えています。
・プラットフォーム:Wekanは多くのプラットフォームをサポートしています。 Wekanは、Wekanが現在統合されている新しいプラットフォームの重要な部分です。
機能
・Wekanは、カードベースのタスクとToDo管理を可能にするオープンソースのかんばんボードです。
・Wekanでは、ボードを作成できます。
・ボード上で、カードを複数の列の間で移動できます。
・ボードには多くのメンバーを含めることができるため、簡単にコラボレーションできます。
・ボード上で一緒に作業できるはずの全員をボードに追加するだけで、準備完了です。
・カードに色付きのラベルを割り当てて、グループ化とフィルタリングを容易にすることができます。
・誰かにタスクを割り当てるために、カードにメンバーを追加することもできます。
Wekanの構築
Wekanはインストーラーとして構築はもちろん、dockerコンテナとして利用できます。
dockerがインストールされている環境であればどこでも可能ですが、今回はWindows上のdocker環境で試してみました。
まだ、docker環境を構築できていない方は以下を参考にどうぞ。
docker-compose.ymlの準備
構築のためにdocker-compose.ymlを用意しますが、公式のサイトにあるdocker-compose.ymlをそのまま使います。
適当なフォルダ(私の場合はC:\Docker\wekan)を作成し、docker-compose.ymlを作成します。
とりあえず、コメントを外したファイルを作成して起動します。
ローカルPC側のポートとして80番ポートを使います。mongodbを利用するようですね。
version: "2"
services:
wekandb:
image: mongo:4.4
container_name: wekan-db
restart: always
command: mongod --logpath /dev/null --oplogSize 128 --quiet
networks:
- wekan-tier
expose:
- 27017
volumes:
- wekan-db:/data/db
- wekan-db-dump:/dump
wekan:
image: wekanteam/wekan
container_name: wekan-app
restart: always
networks:
- wekan-tier
ports:
- 80:8080
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=http://localhost # <=== using only at same laptop/desktop where Wekan is installed
- MAIL_URL=smtp://<mail_url>:25/?ignoreTLS=true&tls={rejectUnauthorized:false}
- MAIL_FROM=Wekan Notifications <noreply.wekan@mydomain.com>
- WITH_API=true
- RICHER_CARD_COMMENT_EDITOR=false
- CARD_OPENED_WEBHOOK_ENABLED=false
- BIGEVENTS_PATTERN=NONE
- BROWSER_POLICY_ENABLED=true
depends_on:
- wekandb
volumes:
wekan-db:
driver: local
wekan-db-dump:
driver: local
networks:
wekan-tier:
driver: bridge
コンテナの起動
それではコンテナを起動していきます。
// イメージ取得とコンテナ起動
PS C:\Docker\wekan> docker-compose up -d
・
・
Status: Downloaded newer image for wekanteam/wekan:latest
Creating wekan-db ... done
Creating wekan-app ... done
// 起動確認
PS C:\Docker\wekan> docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------
wekan-app node /build/main.js Up 0.0.0.0:80->8080/tcp
wekan-db docker-entrypoint.sh mongo ... Up 27017/tcp
はい、問題なく構築できたようです。簡単ですね。
Wekanへのアクセス
では構築できたWekanへアクセスします。
http://localhostへアクセスするとWekanのログオン画面が表示されます。初期状態ではユーザが居ないので登録をします。
ログオンすると何もない画面が表示されるのでアイテムなどを追加していきます。
テスト的なアイテムを追加してみました。アジャイルで使っているSprintReviewを想定して作ってみました。
ToDo、Doing、Doneというステータスを管理する目的ですがパッと見て非常に見やすいと思いませんか?これらのアイテムをチームメンバー間で簡単に共有することができます。
TeamsのPlannerにはない履歴表示なども機能として備わっているのでいい感じですね。
ラベルの色はもちろん、チェックリストやファイル添付も可能です。
まとめ
今回紹介した以外にもLDAP認証などもできそうですし、色々な機能が備わっているようです。
アジャイル的なチームを作るために有効なツールだと感じました。
Dockerのオススメ勉強方法
私がオススメするDocker初心者向けの最初に購入すべき書籍は「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築」です。
さわって学ぶクラウドインフラ docker基礎からのコンテナ構築
本書ではDockerの基本的な概念などの座学ももちろんありますが、実際に、Dockerのインストール方法やWebサーバーをコンテナで構築するハンズオンを通じて学習することができるため、特に初心者の方はは分かりやすい内容となっています。
今回は以上となります。
コメント