Set up a small software in a VM (or your own PC) to backup your Adobe instances (dev & prod) to your Git repos!
ππβοΈ
Track your instance via a Git Repo
Explore Files and Folders via a web UI
Track the smallest change via Git Diff
Architecture
Instructions
Prerequisites
- Basic linux knowledge (check LINUX cheatshet for help)
- Basic Adobe Campaign knowledge (check Awesome Adobe Campaign) for help)
- Adobe Campaign Classic instance with admin username
- Github.com account
- Basic git knowledge
- Environment with NodeJS installed (local computer or VM)
Setup
Example from Linux VM environment:
$ pwd # /home/user
$ git clone https://github.com/floriancourgey/adobe-campaign-sync myinstance-prod # 1 folder per instance
$ cd myinstance-prod
# if behind a corporate firewall, set HTTP proxy
$ npm config set proxy http://x.x.x.x:port
$ npm config set https-proxy http://x.x.x.x:port
# install dependencies
$ npm install
Launch
# note: clone with a GIT url, not an HTPPS, otherwise SSH autologin with the SSH public key won't work
$ git clone git@github.com/user/instance1.git instance
# copy env file, and edit it
$ cp .env.dist .env
$ vim .env
$ node src/download.js # download data schemas
$ cd instance && git status # check
$ git add . && git commit -m "$(date +%Y-%m-%d_%H:%M:%S)" && git push
Thatβs it! Set up a CRON every 15 min:
$ crontab -e
*/15 * * * * cd ~/myinstance-prod && node src/download.js && cd instance && git add . && git commit -m "$(date +%Y-%m-%d_%H:%M:%S)" && git push
Source code on github.com/floriancourgey/adobe-campaign-sync
Multi-instance setup
~/
adobe-campaign-sync/
instance1-preprod/
.env
instance/
.git/ connected to repo1 @ preprod
instance1-prod/
.env
instance/
.git/ connected to repo1 @ main
instance2-preprod/
.env
instance/
.git/ connected to repo2 @ preprod
instance2-prod/
.env
instance/
.git/ connected to repo2 @ main