SalesforceのDevOps Centerがリリースされたので設定

設定方法はこちら

https://help.salesforce.com/s/articleView?id=sf.devops_center_setup.htm&type=5

## 有効化する
Salesforceの設定＞DevOps Center を開いて有効化とパッケージのインストールを行いましょう

![DevOps_Center___Salesforce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/a68b2587-c310-d8f2-aa6e-926cf6ca8d84.png)

パッケージのインストール範囲は管理者までです。
設定方法画面に書いてあるのですが、Sandboxにはインストール出来ませんので本番環境に入れる必要があります。
インストール完了まで暫し待つ。

## 接続アプリケーションを作る
同じく設定画面の「アプリケーションマネージャ」画面を開き、新規接続アプリケーションボタンを押して設定していきます。

https://help.salesforce.com/s/articleView?id=sf.devops_center_create_connected_app.htm&type=5

設定は↑に書いてあるとおりです

![アプリケーションマネージャ___Salesforce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/34b1d7ad-9b7b-2683-d4d3-b74e8408af46.png)


保存ボタンを押したらManageボタンを押します

![接続アプリケーションを管理する___Salesforce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/e0c5adfd-85c7-ef5c-30a3-bd9c698c3c98.png)

権限セットの管理ボタンを押します

![Lightning_Experience___Salesforce-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/da1be69b-f3a4-93a5-1d36-a2a29ef963a4.png)

sf_devops_NamedCredentialsにチェックを入れて保存します

![Lightning_Experience___Salesforce-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/761ce5d4-7719-25f3-782d-15e5853d323f.png)

#権限セットを割り当てる

https://help.salesforce.com/s/articleView?id=sf.devops_center_assign_permsets.htm&type=5

権限セットページを開くと権限セットが増えてますね

![権限セット___Salesforce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/fcf0d761-b56c-4a15-b5df-3749ed437a5b.png)

## 権限セット詳細について
### DevOps Center
DevOps Centerの基本的な権限セットです。DevOps Centerのワークアイテムのカスタマイズを管理するために必要なデータアクセスおよび権限を提供します。接続されているすべての環境とパイプラインを表示する機能。

割り当て先：DevOps Center Manager権限セットも割り当てられたチームメンバーを含む、すべてのDevOps Centerユーザー。2つの権限セットは重なりません。

### DevOps Center Manager	
DevOps Centerのプロジェクト、環境、ユーザーの設定に必要なデータアクセスおよび権限を提供します。

担当者：チーム/プロジェクト・マネージャー

### DevOps Center Release Manager	
パイプラインを通じてプロモーションを実行するためのパーミッションを提供します。

割り当て先: リリースマネージャーと、パイプラインを通じて変更を促進するすべてのチームメンバー

### sf_devops_InitializeEnvironments
DevOps Centerプロジェクトの管理者が、作業環境への接続を管理できるようにします。Metadata API FunctionsによるModify MetadataとCustomize Applicationのユーザー権限が含まれており、マネージャーはNamedCredentialレコードを作成することができます。

割り当て先：チーム/プロジェクト・マネージャー

### sf_devops_NamedCredentials
環境への認証に必要な名前付きクレデンシャルへのアクセスを許可する。DevOps Centerによって自動的に作成され、維持されます。

割り当て先：すべてのDevOps Centerユーザー

## 割り当ててみる
すべてのDevOps Centerユーザに必要なパーミッション・セットを割り当てる。

### 権限セットの割当
DevOps Centerの権限セットを選択して必要な人に割り当てます。

この手順を繰り返して、sf_devops_NamedCredentials 権限セットをチーム メンバーに割り当てます。

プロジェクトの構成、パイプラインの構築、パイプラインを通じた変更の促進を行うための権限が必要なチームメンバーに、DevOps Center ManagerおよびDevOps Center Release Managerの権限セットを追加します。

## 次へ
権限セットを割り当てたら、DevOps Center自体の設定をしていきます

## GitHubにレポジトリを作る
https://github.com/forcedotcom/dx-empty 

こちらのテンプレートを使って作成していきましょう。

![forcedotcom_dx-empty__Template_repository_representing_the_empty_file_system_structure_for_a_new_Salesforce_DX_project_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/31e54a08-558a-c783-0699-71a7c55c200a.png)
ここから自分のリポジトリを作っていきます。
コラボレータの設定などは適宜やってください。

## DevOps Centerを開く！
アプリケーションランチャーから開きましょう。(設定画面じゃありません)

![DevOps_Center.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/97a63663-57d7-93e9-a893-dd2c17de5d29.png)

新しいプロジェクトボタンを押します

![DevOps_Center.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/703d97a6-3397-fbd4-e9fe-c4c883e0f53b.png)

GitHubの認証画面に飛びます

組織のリポジトリに接続したい場合はGrantボタンを押してからAuthoriseしましょう。

![Authorize_application.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/8547b101-21f8-0692-0c64-b1d26bc8a644.png)

ボタンを押して接続が成功すると、DevOps Centerの画面に戻って接続完了メッセージがでます。
改めて新しいプロジェクトボタンを押してプロジェクトを作っていきます

![DevOps_Center-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/78246b48-be4f-6934-59e8-184c64e140dc.png)

先程テンプレートから作成したリポジトリのURLを貼りましょう

作成したら、リポジトリとリリース先の環境を接続していきます

![DevOps_Center-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/f1f61037-6049-a6dd-bbdd-474703870dc8.png)

本番環境と接続

https://help.salesforce.com/s/articleView?id=sf.devops_center_project_add_release_env.htm&type=5

![DevOps_Center-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/8385b442-5451-53b1-f562-ad80a4d6011e.png)

すべての環境というところをクリックすると、Heroku Pipelinesみたいな画面になる

![DevOps_Center__dx1___パイプライン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/816b2faf-5b62-ce45-fe67-46e9dc24b449.png)

フェーズ名部分は、組織の開発フェーズの組み方によっていくらでも組み上げることができるもよう。
今回は簡略化のためにステージングと本番のみにしてあと2つくらいあったやつは削除してある。
(ステージング環境にSandboxを入れてしまいましたが、ソース追跡がONになっていないのでこれは使えません。Developer環境が必須ということでした)

>重要 サンドボックスを追加するときは、ソース トラッキングが有効な Developer または Developer Pro サンドボックスであることを確認してください。他のサンドボックスタイプは、開発環境の要件であるソース追跡に対応していません。


## スクラッチ組織を接続してみる
Salesforce CLIがインストール済みであることを前提に進めます

https://developer.salesforce.com/ja/tools/sfdxcli

### 先程作ったリポジトリを落としてきましょう
ターミナルから作業ディレクトリに入ってから以下の通り

```
$ git init
$ git remote add origin git@github.com:xxxxx/xxxxx.git
$ git checkout main
$ sfdx force:org:create -s -f config/project-scratch-def.json -a 適当な名前
```

これでスクラッチ組織が作られますが、DevOps Centerに接続する際に、ユーザーのパスワードが必要になるのでそれもついでに生成しておきます。ユーザー名は上記コマンドで生成されていると思うのでtest-xxxxxxxx@example.comを適宜変更してください

`sfdx force:user:password:generate --targetusername test-xxxxxxxx@example.com'

するとこんなレスポンスが来ます

Successfully set the password "xxxxxxここにパスワード" for user test-xxxxxx@example.com.

これを使って、開発環境を追加ボタンから接続していきます

![アクセスを許可しますか____Salesforce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/3668162b-6dc4-1d9c-381c-6bda6d8d1980.png)

接続完了するとこんな形になります

![DevOps_Center__dx1___パイプライン-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/62e52cef-4119-d698-42a6-0ea23183cd3c.png)



## to be continued...
一通り行くつもりが、設定工数がそれなりに掛かりますね。
続きはここからやる予定です
https://help.salesforce.com/s/articleView?id=sf.devops_center_pipeline_plan.htm&type=5