[gusuku] 基本機能を紹介してみる（後編）


# はじめに
本記事は [[gusuku] 基本機能を紹介してみる（前編）](http://qiita.com/rocca0504/items/e8a31a020709d87e3838) の **続編** となります。

今回は **「アプリの配布機能」と「基本の便利機能」** について説明していきます。

# gusukuのはじめ方 〜 アカウント作成
gusukuでアカウントの取得が必要です。
[gusuku.io サインイン](https://app.gusuku.io/signin/)

更に、gusukuは単独のサービスではなく<b><font color="FF0000">kintoneとセットで利用するサービス</font></b>です。
なので **kintoneアカウントの取得が大前提** です(˘ω˘)

詳しくは前編を見るべし。
[[gusuku] 基本機能を紹介してみる（前編）](http://qiita.com/rocca0504/items/e8a31a020709d87e3838)

# gusukuでkintoneアプリを配布する
## gusukuで複数の環境を管理する
### 環境の追加
前回、プロジェクトの配下に環境を作成しました。
このプロジェクト配下に作成出来る環境は実はひとつじゃありません（画面見てたらわかるけど

#### 複数環境の管理
* アプリ開発担当者だけが閲覧出来るkintone上の<b><font color="0000FF">開発スペース</font></b>がある
* このスペースの中でkintoneアプリを開発しており、動作確認・検証はそのアプリで行う
* ユーザーが普段利用するのは<b><font color="FF0000">本番スペース</font></b>
* ユーザーが閲覧出来るのはこのスペースのみ
* <b><font color="0000FF">開発スペース</font></b>内でアプリの検証が終われば、検証が終わった部分のみ<b><font color="FF0000">本番スペースのアプリ</font></b>に反映

上記のような使い方をしている場合、kintone上では **環境がわかれている** と思います。
このわかれた環境を、gusukuの画面上で **一元管理** できます。
![kintone_overviewfigure.png](https://qiita-image-store.s3.amazonaws.com/0/73604/e5699969-1ac5-930c-f88b-f58f12180a1a.png "kintone_overviewfigure.png")

プロジェクト内の環境追加画面で **「前の環境」** を選択して追加することで、その環境の後に今回の環境が並びます。
![gusuku30.png](https://qiita-image-store.s3.amazonaws.com/0/73604/4c23b6aa-ef1f-fcca-3023-cdaf134e3068.png "gusuku30.png")


また、URLを設定して追加するので、物理的にkintoneの契約がわかれている（サブドメインが別）場合でも、同じプロジェクト配下に登録することができます。
異なる契約をひとつの画面で管理ができるなら<small>~~整理ベタなそこのあなた~~</small>でもきっと大丈夫（ぇ
![gusuku32.png](https://qiita-image-store.s3.amazonaws.com/0/73604/e42e0eb0-be53-8930-4a09-3330543b04fe.png "gusuku32.png")


#### （補足）BASIC認証が有効な環境もサポート
ちなみに<b><font color="0000FF">BASIC認証</font></b>が設定された環境にも対応しています。
このBASIC認証っていうのは、 **kintone側の話** ね。

で、同じようにkintoneのアクセス制限で、セキュアアクセスっていうのがあります。

でもgusukuでは現時点では<b><font color="FF0000">セキュアアクセス未対応</font></b>となってます。
![gusuku31.png](https://qiita-image-store.s3.amazonaws.com/0/73604/9ff4dc93-8e27-58f8-3b5a-b875743bedfd.png "gusuku31.png")


#### （余談）kintoneのセキュリティのおはなし
kintoneはブラウザからアクセスするサービスなので、当然セキュリティが気になるところなのですが、根本的なkintoneの画面へのアクセスを制限する方法としては以下をサポートしています。

一般的なWebのアクセス制限ですね。

* IPアドレス制限
* BASIC認証
* セキュアアクセス（※これ<b><font color="FF0000">有料オプション</font></b>なので注意）

でもBASIC認証おｋなら **Digest認証** もサポートしてくれてもいいんじゃね？<small>とか身勝手なことを思ったり（</small>
セキュアアクセスっていうのは ~~言葉がアレでまぎらわしいんですが~~ 俗に言う **クライアント認証** のことです。
個人的にはBASIC認証もクライアント認証もどっちもセキュアアクセスなんじゃ？って混乱した時期ががが。
なので、<b><font color="FF0000">セキュアアクセスは有料オプション</font></b>なのですが、 **BASIC認証の設定は無料** です。
これ俺的ポイントです。
![kintone_acl.png](https://qiita-image-store.s3.amazonaws.com/0/73604/cd5abb17-ec1c-00df-8c1f-0ffea838972e.png "kintone_acl.png")


![kintone_service contract.png](https://qiita-image-store.s3.amazonaws.com/0/73604/a24c46fe-4cca-d236-bcb2-f032ee27c3df.png "kintone_service contract.png")


## アプリの配布
いよいよ本筋へ。
テスト用の環境にあるアプリを、本番環境に移してみます。
gusukuではこの操作を<b><font color="FF0000">「アプリの配布（デプロイ）作業」</font></b>と呼んでます。

アプリの登録方法については[[gusuku] 基本機能を紹介してみる（前編）](http://qiita.com/rocca0504/items/e8a31a020709d87e3838)で説明しました。
kintoneアプリで変更を加えた箇所をgusukuに取り込むには、 **「アプリの取り込み」** を行うことで取り込みができます。

配布の時には、配布元のアプリが登録されている環境から作業を行います。

（この図では **ステージング環境** に登録されたアプリを **本番環境** に配布しています）
![gusuku33.png](https://qiita-image-store.s3.amazonaws.com/0/73604/d32185c8-a8e4-e810-b5b2-57139940b523.png "gusuku33.png")

※アプリの配布で「即時運用開始する」にチェックを入れなかった場合
kintoneアプリのステータスが<b><font color="FF0000">「運用開始前」</font></b>の状態となり、アプリがスペース上に表示されないので注意。

アプリ取り込み時同様、作業ログを残します。
配布するアプリにアクセス権を設定してある場合は、<b><font color="FF0000">「アクセス権の配布を試みる」</font></b>にチェックが必要です。
![gusuku34.png](https://qiita-image-store.s3.amazonaws.com/0/73604/89e5a436-404c-e854-3d64-8b0fd3d42de2.png "gusuku34.png")


実行すると、本番環境のスペースにkintoneアプリが新しくできました。
![gusuku35.png](https://qiita-image-store.s3.amazonaws.com/0/73604/76d4913a-6016-1d65-a891-61835b6e0626.png "gusuku35.png")

####（補足）アプリは双方向で配布が可能
今回実例としてあげたのは、テスト用の環境にあるアプリをアプリの存在していない本番環境に配布するぱてぃーん。

ちなみに、すでに配布先にアプリが存在している場合でも、同じ操作方法で<b><font color="0000FF">差分のみの反映が可能</font></b>です。
また、並べた環境順にしか配布ができないわけではなく、同じプロジェクトに登録された環境であれば、どの環境でも指定して配布ができます。

例えば **本番環境にあるアプリを、テストや検証用に開発環境に配布（コピー）** したりもできるわけですね。
![gusuku_sync.png](https://qiita-image-store.s3.amazonaws.com/0/73604/d88692f0-9485-3695-0964-fa1cd648f7d4.png "gusuku_sync.png")


# アプリの配布における注意点
今回はgusukuを利用したkintoneアプリの配布方法をご紹介しましたが、ここで **注意点** があります。

## アプリの配布はできるけど中のデータまでは配布できないよ！
**「アプリの配布」** で配布可能なのは、kintoneアプリ本体のみです。<b><big><font color="0000FF">kintoneアプリ本体のみ</font>です（大事なことなので2回ry</big></b>

ちなみに一緒に組み込んでるJavaScriptやCSSのは「アプリの配布」で一緒に配布が可能です。

## じゃあ中のデータ持っていきたい時どーすんの？
って疑問出てきますよね。当然。
中のデータを一緒に配布したい場合は、<b><font color="FF0000">gusukuのオプション『バックアップ/リストア機能』</font></b>も併用する必要があります。

<b>※バックアップ/リストア機能はまた後日(๑¯ω¯๑)</b>

# 基本機能＋α
## kintoneアプリの設計情報がダウンロードできるってよ
gusukuでは、取り込んだkintoneアプリの設計情報をExcelファイルでダウンロードできます。
gusukuからアプリの詳細画面を開いて、<b><font color="FF0000">「設計情報Download」</font></b>をクリックすると、現在取り込まれている最新のバージョンの設計情報をExcelでカカッとダウンロード。
![kintone_arch.png](https://qiita-image-store.s3.amazonaws.com/0/73604/a3390d60-437b-b00e-392e-122589df8fe6.png "kintone_arch.png")


これ、<b><font color="FF0000">フィールドコードやフィールド名、サブテーブル名など</font></b>がひと目でわかります。
他にもアプリのアクセス権とか、ルックアップの情報とか、そのへんの情報がシート別でわかれて出てきます。

計算フィールドで計算させたり、JavaScriptを利用したカスタマイズを行う時には、フィールドコードの指定が必要なので、kintoneアプリの設定画面でフィールドコードを逐一確認しなくても、このExcelを見ながら実装することができちゃって個人的にも重宝してます。ありがたやありがたや。

基本機能の紹介はこれでおわり。

次回は、同じくgusukuの<b><font color="FF0000">添付ファイル保存プラグイン</font></b>について触れてみようと思います。