> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Deploy

GS2-Deploy を使用して セットアップを自動化




ユーザーやクレデンシャル(認証情報）の追加は GS2-Identifierの管理画面から行えますが、GS2-Deployを利用するとより簡単です。

GS2-Deployは継続的デリバリーの実現を目的としたサービスです。
YAML形式で記述されたコードを使ってリソースの自動構築を行えます。

例えば、ユーザーを新規追加するテンプレートを使ってスタックを作成すると、自動で新規ユーザーをGS2-Identifierに追加することができます。

スタックについて
GS2-Deployは、テンプレート(GS2内のリソースをどう操作し構築するかの手順が記述されたもの) を元に、実際に各サービスのリソースを操作します。
このテンプレートで構築したリソースを集約したものをスタックといいます。

<img src='img_7.png' width='50%'>

スタックに対して、内容を変更したテンプレートを再適用すると、更新の処理が実行されます。
変更の差分を検出し、新たに作成が必要になったリソースは新規作成、更新が必要なリソースは更新、削除が必要なリソースは自動で削除を、それぞれのリソースに対して行います。
この仕組みによって開発者は、要らなくなったリソースを削除する、などのオペレーションを行う必要がなくなり、望んでいるリソースの状態をテンプレートに記述するだけで自動で構築が可能になります。

それでは実際にテンプレートを使ってスタックを作成してみましょう。


**YAML**
```yaml
GS2TemplateFormatVersion: "2019-05-01"
Description: GS2 SDK identifier template Version 2019-07-10

Globals:
  Alias:
    ApplicationUserName: application

Resources:
  IdentifierApplicationUser:
    Type: GS2::Identifier::User
    Properties:
      Name: ${ApplicationUserName}

  IdentifierApplicationUserAttachPolicy:
    Type: GS2::Identifier::AttachSecurityPolicy
    Properties:
      UserName: ${ApplicationUserName}
      SecurityPolicyId: grn:gs2::system:identifier:securityPolicy:ApplicationAccess
    DependsOn:
      - IdentifierApplicationUser

  IdentifierApplicationIdentifier:
    Type: GS2::Identifier::Identifier
    Properties:
      UserName: ${ApplicationUserName}
    DependsOn:
      - IdentifierApplicationUser

Outputs:
  ApplicationClientId: !GetAttr IdentifierApplicationIdentifier.Item.ClientId
  ApplicationClientSecret: !GetAttr IdentifierApplicationIdentifier.ClientSecret
```


例に示したのは、 ApplicationAccess 権限を設定したユーザーを作成する テンプレート のサンプルです。
ApplicationUserName: application の部分を変更すると、GS2-Identifier に作成されるユーザー名を変更できます。

[テンプレートをダウンロード](initialize_credential_template.yaml)

この テンプレートファイルを保存します。
続けて、マネージメントコンソールのサイドメニューから Deploy > Stacks を選択します。

![img_8.png](img_8.png)

スタックの新規作成 で テンプレートデータ に指定してスタックを作成します。

![img_9.png](img_9.png)

![img_10.png](img_10.png)

作成したスタックに登録された設定の反映状態は、スタックの 実行状態 の項目で確認できます。

![img_11.png](img_11.png)

数秒後 CREATE_COMPLETE になり、 クレデンシャルの設定が完了します。

![img_12.png](img_12.png)

反映完了後に アウトプット タブを選択すると、クレデンシャルの クライアントID と クライアントシークレット が表示されます。
この値は後ほど ゲームアプリ側に設定します。

![img_13.png](img_13.png)




