Ich möchte Salesforce-Metadaten automatisch durch Zeitplanausführung sichern. Ich habe ANT über den Windows-Taskplaner ausgeführt, um ein Tool zum Planen automatischer Sicherungen zu erstellen.
Was Sie brauchen, ist wie folgt. -Installation von Apache Ant -Installation von Java JDK ・ Installation von Python3
Klicken Sie auf den folgenden Link, um eine detaillierte Anleitung zum Freigeben von Salesforce mithilfe von ANT zu erhalten. (Es gibt auch eine Beschreibung, wie ANT und Java installiert werden.) · Veröffentlichung von Änderungen mit dem Ant-Migrationstool
Klicken Sie auf den Link unten, um Python zu installieren. ・ Python3 installieren
myorg/
┣unpackaged
┃ ┗package.xml
┣build.properties
┣build.xml
┣modifyXML.py
┣backupByDateTime.bat
-Unpackaged / package.xml: Definieren Sie den Typ der Metadaten, die Sie abrufen möchten · Build.properties: Definiert Verbindungsinformationen zur Salesforce-Organisation.
build.properties
sf.username = [email protected]
sf.password = xxxyyyzzz
sf.serverurl = https://login.salesforce.com
sf.maxPoll = 20
-Build.xml: Definiert Befehle, die von Ant ausgeführt werden sollen.
build.xml
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns:sf="antlib:com.salesforce" name="Sample usage of Salesforce Ant tasks" default="test" basedir=".">
<property file="build.properties" />
<property environment="env" />
<condition property="sf.username" value=""> <not> <isset property="sf.username" /> </not> </condition>
<condition property="sf.password" value=""> <not> <isset property="sf.password" /> </not> </condition>
<condition property="sf.sessionId" value=""> <not> <isset property="sf.sessionId" /> </not> </condition>
<taskdef resource="com/salesforce/antlib.xml" uri="antlib:com.salesforce">
<classpath>
<pathelement location="../ant-salesforce.jar" />
</classpath>
</taskdef>
<target name="retrieveUnpackaged">
<mkdir dir="backupxxxxxxxxx" />
<sf:retrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" retrieveTarget="backup0111163434" unpackaged="unpackaged/package.xml" />
</target>
</project>
-ModifyXML.py: Ein Programm, das build.xml bearbeitet
modifyXML.py
import xml.etree.ElementTree as ET
import datetime
#XML analysieren
tree = ET.parse('build.xml')
ET.register_namespace('sf', 'antlib:com.salesforce')
#Holen Sie sich XML
root = tree.getroot()
now = datetime.datetime.now()
dt_string = now.strftime('%m%d%H%M%S')
for e_mkdir in root.iter('mkdir'):
e_mkdir.set('dir', 'backup' + dt_string)
for e_ret in root.iter("{antlib:com.salesforce}retrieve"):
e_ret.set('retrieveTarget', 'backup' + dt_string)
#sparen
tree.write('build.xml', 'UTF-8', True)
-BackupByDateTime.bat: Eine Batchdatei, die den obigen Python ausführt und ANT-Befehle ausführt.
backupByDateTime.bat
python modifyXML.py
Ant retrieveUnpackaged
Planen Sie die obige Batchdatei mit dem Windows Task Scheduler. Informationen zu den Scheduler-Einstellungen finden Sie unter hier.
Sie können auch den obigen Ordner öffnen und auf die Batchdatei doppelklicken.
Bei der Ausführung wird im Ordner ein Ordner mit dem Namen "Datum und Uhrzeit der Sicherungsausführung Sekunden" erstellt. Die Metadaten werden in diesem Ordner gespeichert.
Verwenden Sie es für Salesforce-Entwicklungsprojekte, z. B. wenn Sie regelmäßig eine Sicherungskopie aus der Produktions-, Verifizierungs- und Entwicklungsumgebung erstellen müssen.
Als ich die Kreationen innerhalb des Unternehmens teilte, gab es eine Stimme mit der Aufschrift "Verwalten der erworbenen Ordner mit Git". Wenn Sie also Zeit haben, würde ich das auch gerne versuchen.
Recommended Posts