SlackもGiHubも一発連携!BluemixのToolchainsでオープンなDevOps開発を!

# Toolchainって何？

先日のプレスリリースでDevOps Toolchains（ツールチェーン）が公開されました。

![image](https://qiita-image-store.s3.amazonaws.com/0/87213/c9ba54d4-8ad9-b0ca-4540-79b44f5aca8a.png)

Toolchainsとは、継続的デリバリー（CD）を実現するための開発ツール群を表します。Bluemixにおいて特徴的なのが、IBMが公開しているIBM Garage Methodの各カテゴリーで使用するツールをクリック一発でBluemix環境と統合できることです。

# IBM Garage Methodって何？
デザイン思考を取り入れたサービス開発のメソドロジーです。資料はどなたでも参照できて、ベスト・プラクティスが紹介されています。Garage Methodだけで、Qiitaの記事が量産できてしまうのでここでは割愛しますが、Cultureから始まって、Think、Code→・・・・をぐるぐる回してアジャイルに、そしてクイックに開発を進めていく手法です。

- Culture
- Think
- Code
- Deliver
- Run
- Manage
- Learn



![image](https://qiita-image-store.s3.amazonaws.com/0/87213/32d55b01-8787-5e56-3ec4-179a27f551c1.png)


[Garage Methodのフィールドガイドはこちらをご参考ください。](https://www.ibm.com/devops/method/files/Garage_Method_Field_Guide_Nov2016.pdf)

ビジネス側も、デザイナーも、開発者もみんなで激流をくだりながら、一つのサービスを作っていくイメージです！そう、ウォーターフォール開発ではなく、Minimum Viable Product（MVP：Minimum Viable Product）をアジャイルに開発して、評価して素早くリリースして、継続的に改良・拡張を加えていく開発手法です。

![image](https://qiita-image-store.s3.amazonaws.com/0/87213/d226ebd6-d2b6-6a84-b592-c7578df8fd81.png)

# IBMのテクノロジーにロックインされるの？

ありえないです。足りないところはIBMの製品があったりしますが基本的にはDeveloperがよくつかうオープンなツールを統合しています。無料です！


# どんな感じなものでしょ？

ひとまず、Webサーバーを立ててみて、そのtoolchainとやらをみてみましょう。ふむふむ・・・この有効化のボタンをクリックするわけですな。

![image](https://qiita-image-store.s3.amazonaws.com/0/87213/60b31c86-e83a-02e8-9d83-7cc49b376f2a.png)

わかったのですが、必ずGitHubにアカウントを作っておいてくださいね。つくってないとGitHubのところがエラーになるようです。

画面が変わると・・・

![image](https://qiita-image-store.s3.amazonaws.com/0/87213/327b261e-6317-262f-0fe5-ccb2d07326f1.png)

おぉ！Garage Methodのに沿って、GitHubとWeb IDE、PIPELINEがなんとなく連携してそうです！

さっそく、Createをポチッとしてみます。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/1fc10988-f165-320f-704e-ac4c0fcc71af.png)


いままでのWeb IDEからPIPELINEを利用していたけど、何が違うのかな・・・・のドキドキ。。。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/f9569048-54e8-4313-77af-d1a9c6f3b20a.png)

設定が完了したようですので、Web IDEを触ってみましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/87213/a94b5972-38a0-3b6c-2b02-091063571aae.png)

ちょこっとHello Wolrdを変更してみます。

![image](https://qiita-image-store.s3.amazonaws.com/0/87213/54254f1f-9d0e-c189-6730-5a8bfbfccf65.png)


GitをクリックしてみるとGitHubにリポジトリーがつくられていることがわかるかと思います。
GitHubでもしっかりとリポジトリーが作成されていました！
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/6f645aa7-0853-fd9b-12ab-ef5481441cce.png)

リモートリポジトリーにプッシュしてみます。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/1069ec58-6347-878c-33f4-e49f261a2688.png)

デプロイが正常にできないなと思って、PIPELINEをみてみました。なぜか、ステージングがちゃんと構成されていない・・・。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/f1a41a25-4c0b-580e-cc6a-1f389c92031a.png)

ステージの構成を仕切り直して・・・みます。たしか、ステージの構成を選択してっと。。。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/ffba1435-c5db-6dbd-a917-f4d2bba40821.png)

ジョブのタブを選択して、ビルドのジョブ作成を選択。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/2cbabd39-29c1-e017-6131-476c5ccdcb1e.png)

そのまま保存を選択っと。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/30fbc6cb-6c02-bd88-57c4-65ec659c5f13.png)

早速ビルドしてみます。再生ボタンをポチッとな！・・・しばらくするとビルド成功というステータスが確認できます。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/cf6781cf-f144-0ce2-b7fb-286da2ed4a78.png)


次はデプロイのステージをつくるために新たなステージを追加します。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/b4f93fbb-51b5-c27d-c8ef-17708db36346.png)

ジョブタブを選択すると、何故かスペースがおかしなところにありました。おそらく正しくスペース名が取得できてなかったのか・・・・・。作成されたアプリのスペース名を指定してあげます。そのまま保存してあげます。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/edfca315-cddd-a41f-18a1-033bd2d75387.png)

さっそくデプロイしてみましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/87213/43b9c4f7-871a-1d6e-6fd6-1605f1deee68.png)


できました！うーん・・・なんかまだ挙動が・・・・そのうち改善されるかな・・・。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/f6e6c6ef-241e-06c0-d7c7-2a9c0e9e0147.png)


# 今後に期待
DevOps Serviceも見やすく色が変わっていて見やすくなっていました。シームレスにGitHubに直接リポジトリーをつくっていけるところは非常にありがたいなと思いました。

Slackとの連携や他サービスも1クリックかと思ったのですが、手動で追加しないといけないようでした。
きっとこれからできるようになるでしょう!
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/ab3694e5-caa8-ec43-e717-0687855e2c0e.png)


# カタログからToolchainを構成するとひと味ちがった件
カタログメニューからDevOpsのメニューを選択して、Continuous Deliveryを見るといくつか種類がありました。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/afe25256-58bf-92d3-32af-0bd9207542b4.png)

詳細は次回やるとしますが、がっちりとツール群が揃っているものができるみたいでした。
![image](https://qiita-image-store.s3.amazonaws.com/0/87213/d8e11857-e721-ba2e-1f00-32f0513c575a.png)

このツール群、まだまだ増えそうな予感がしていて、DevOpsに目が話せなくなりました。今後に期待！