Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@bigyoujdb

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

More than 1 year has passed since last update.

今回の成果物

 以前作成した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コマンドに置き換えても同様に動作します。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
bigyoujdb
Salesforce開発メイン
accenture
ストラテジー、コンサルティング、デジタル、テクノロジー、オペレーションズの5つの領域でサービスを提供する総合コンサルティング企業

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?