SalesForce DevOps Center
有効化
以下マニュアル通りすすめればOK(すごく簡単)
:::note info
事前にpProfileより、必要な権限を割り当てること
筆者は、PlayGoundで試したので、System Admin権限利用
:::
インストールが完了するとメールが届く
Playgroundはテストorgなので、インストールは即時完了
念のため、インストール済みパッケージから確認(リストの一番下)

DevOpsへ接続用アプリの作成
他のチュートリアルをすっ飛ばしてきた私には難易度が高かった・・・
公式リンク
https://help.salesforce.com/s/articleView?id=platform.devops_center_create_connected_app.htm&type=5
- setup > アプリケーションマネージャ > 新規外部クライアントアプリケーション
- 公式リンク通り基本情報を入力し、作成ボタン押下
- 外部クライアントアプリケーションマネージャーにてポリシーを編集
- 以下に開始URLをいれると、アプリケーションランチャーからDevOps Center確認可能
- 自分に「[sf_devops_NamedCredentials] を割り当て
GitHub連携
- アプリケーションランチャーのDevOps Center > 新しいプロジェクト > GitHub連携を選択すると、自動でGithubと紐づけ実行してくれる
- GitHub > 右上のユーザーアイコン > Settings > Application > Authorized OAuth Appsにて、Salesforce Integration Applicationがあることを確認
IPアドレス設定
Github IP Allow List
- Organization > Settings > Security > Authentication security > IP allow listにて、以下のIPをaddする
44.225.154.211
100.21.209.24
52.43.33.118
44.230.180.227
参考
https://help.salesforce.com/s/articleView?id=platform.devops_center_ip_allow_list_org.htm&type=5
さらに、SalesForceのIPも許可する必要あり
https://help.salesforce.com/s/articleView?id=000384438&type=1
日本はAPNICのIPを登録
社内ネットワークで制限していないかチェック
*.salesforce.com
*.force.com
*.salesforce-setup.com
*.lightning.force.com
*.visualforce.com
セッション設定
再認証
指定ログイン情報より、DevOps Center Githubを削除
再度、DevOps Centerにて、NewProjectで再認証
GitHubプロジェクトを作成
DevOps Centerから新しいプロジェクトを作成
参考
https://help.salesforce.com/s/articleView?id=platform.devops_center_create_project.htm&type=5
パイプラインを作成
開発環境
- 開発環境に登録できるのは、Scratch Org,Developer (Pro) sandboxのみ
- Scratch Orgを作成する場合、以下のコマンドを実行し、devops centerの開発環境に登録する
# DeveloperEditionのDev Hub組織へログイン
sfdx auth:web:login -d -a DevHub
# 一覧確認
sfdx org:list
# 30日間有効のScratch Orgを作成(最大30日)
sf org create scratch -f config/project-scratch-def.json -a MyScratchOrg --duration-days 30
# Scratch Orgへのログイン
# webコンソールが開く
sf org:open -o MyScratchOrg
# 認証情報を取得(ユーザー名をチェック)
sf org:display --target-org MyScratchOrg
# パスワードを表示させる
sf org:generate:password --target-org MyScratchOrg
※開発環境へブランチを登録する仕様ではなく、組織のメタデータを取得して、testブランチへのプルリクエストまで自動化できる
-「昇格」ボタンをクリックすると
1.DevOps Centerが開発環境(Scratch Org)に接続
2.DevOps Centerが、Metadata APIを使用して変更されたメタデータを抽出
3.抽出したメタデータをXML/ファイル形式で取得
4.DevOps CenterがGitHub APIを使って、testブランチからブランチ切って、新しいコミットを作成
5.DevOps Centerがプッシュ、プルリクエスト作成
6.レビュー・マージ
- testからmainへの移行時は、メタデータ抽出しない
1. testフェーズで「昇格」ボタンを押下
2. DevOps CenterがGit操作を実行:
- testブランチの内容をmainブランチに自動マージ
- またはプルリクエストを自動作成
3. mainブランチと本番組織に自動デプロイ
-図だと
開発環境 (dev) → テストフェーズ (test)バンドルフェーズ → 本番フェーズ (main)
↓ ↓ ↓
Scratch Org testブランチ mainブランチ
バンドルフェーズ
- バンドルに設定したフェーズでとりまとめる
- 開発環境は各開発者が開発に利用して、その内容をテストフェーズに統合するイメージ
同期設定
- 開発環境にて、同期オプションを有効にすることで、一つ後のフェーズ(test)と比較して、最新でない場合は通知がくる
- 最新にしていないことで競合の発生を防ぐことができる
設定したら、有効化ボタンを押下
作業項目(作業項目)
https://help.salesforce.com/s/articleView?id=platform.devops_center_team_members_assign_work_items.htm&type=5
-前提条件として、開発環境を同期していること
新規
- 選択にて、登録した開発環境を選択し、続行ボタンを押下
- これにより、WI-xxxxxxxという名前のブランチがGitHubに作成される
このブランチを利用して、コード修正、開発組織へ手動デプロイして開発を行う
ローコード、ノーコードについては、開発環境にて設定を行う
後述の、処理中フェーズにて、「変更を取り込む」ボタン押下により、そのブランチへすべての変更差分がコミット・プッシュされる
処理中
- 開発環境のリンクから、webコンソールを開ける
- ソース制御ブランチに、GitHubのブランチ記載
- 「変更を取り込む」ボタン押下により、ソーストラッキング機能が開発環境の変更を検出し、devops centerに差分を表示(Githubのブランチとの差分)
-
コメントを記載して、「変更を確定」ボタンを押下により、GitHubのブランチへコミット、プッシュする
-
「レビューを作成」ボタンを押下により、プルリクエストが作成される
レビュー中
Squash and mergeでマージすること
レビューアーの設定などは、GitHubのPullRequestsにて設定する
昇格準備完了
-
パイプラインを確認し、「昇格を完了...」ボタンを押下すると、test組織へのデプロイ、test→mainブランチへのPull Request作成が行われ、昇格済みフェーズとなる
https://help.salesforce.com/s/articleView?id=platform.devops_center_promotion_outside.htm&type=5

↓

-
「作業項目バンドルとして昇格」ボタンを押下すると、mainブランチへのマージ、本番環境へのデプロイが行われる
※testで障害が出た場合は?
→作業項目を作り直して、再度修正を反映する
→元のWorkItemは削除しないで、修正WorkItemとマージする
運用イメージ
開発者 → 必要に応じてWork Item作成 → セルフアサイン → 作業実行
例:バグ発見時に「WI-002: データ保存エラー修正」を開発者が自主作成
- 本番環境にデプロイするのは、個人ではなく開発チームに確認したほうがいいかもしれない
→権限で管理できるはず・・・?










