LoginSignup
3
2

More than 3 years have passed since last update.

Salesforce組織のメタデータを自動バックアップするツール作ってみたその3

Posted at

今回の成果物

 以前作成したSF組織のメタファイルをスケジュールで自動で取得するファイルをGit管理できるようにしました。今回はリモートへのプッシュは行っておらず、ローカルで個人で管理する用に作成しました。

必要なものは前回のものに追加して以下のもの。
・Gitのインストール

フォルダ構成

myorg/
┣unpackaged
┃ ┗package.xml
┣build.properties
┣build.xml
┣.git
┣executeBackupAndCommit.bat
┣commit.sh

今回、新た追加したのは
・executeBackupAndCommit.bat
・commit.sh
の2ファイル。
また、build.xmlを書き換える必要はないので、
xmlを書き換えるプログラムは今回必要ありません。

executeBackupAndCommit.bat

SF組織からメタデータを取得するコマンドを実行し、commit.shを行う起動するbatファイル

executeBackupAndCommit.bat
Ant backup & cd C:\Program Files\Git & git-bash "C/Users/userName/Desktop/myorg/commit.sh"

※各コマンドを区切らずに、"&"で繋いで1行で書くことが重要です。こちらについては後日、記事を投稿しようと思います。

commit.sh

指定フォルダで差分をコミットするシェルスクリプト

commit.sh
#!/usr/bin/bash
cd "/c/Users/userName/Desktop/myorg"
git add --all
git commit --allow-empty -m"autobackup"

バックアップの実行

 上記のフォルダを配置したディレクトリで、executeBackupAndCommit.batをダブルクリックするとタスクが実行されます。(Windowsタスクスケジュラーでスケジュール実行可能)
SF組織からメタデータを取得し、差分をコミットします(今回はgit commit --allow-empty オプションを実行しているので、差分がなくても空コミットを行います。)

まとめ

 今回の成果物は、コードの記述量が少なかったですが、Antコマンドの後のGitコマンドがなかなか上手く実行されずにかなり躓きました。今回の躓きポイントは別記事で投稿しようと思います。
 また、前回から勉強のためAntを使用しましたが、Salaesforce CLIを使用して、Antコマンドをsfdx force:source:retrieveコマンドに置き換えても同様に動作します。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2