🎨Campaigns

New projects

For every new project, create a new branch (based on the develop one) and give it an unique name. Please note that projets should only use lowercase characters and a single dash between words.

For instance, for a first campaign for Amazon, the branch could be "amazon-firstcampaign".

# Switch to the develop branch (if not on it already), and retrieve the last version
git checkout 'develop'
git pull

# Clone the develop branch
git checkout -b 'amazon-firstcampaign'

# For further branches switching, don't add the '-b', which is for creation only!

Every development related to a specific operation should be done on its branch only.

Once the new branch is created, clone the "template" folder (in src\projects) and name it as the branch name (the folder name should always match the branch name).

# Clone the 'template' folder in VS Code and rename it to 'amazon-firstcampaign'
'template copy' -> 'amazon-firstcampaign'

Once renamed, please do an initial commit of your project, so your reviewer is able to see your actual changes when creating your Pull Request later.

# Commit with your project/branch name + 'init'
git add .
git commit -m 'amazon-firstcampaign init'
git push

---

Deployments

Deployments are only allowed on the master branch. Documentation on versions and releases is available here.

A pull request is mandatory for projects merging, and a reviewer should always be added. Pulls requests can be done on the BitBucket website and should target the develop branch.

The flow is as follow:

# Once your project is working and is ready for testing,
# pull request your branch into develop
'amazon-firstcampaign' -> 'develop'

# Once reviewed and allowed for deploy,
# pull request the current state of develop into master
'develop' -> 'master'

# Tag your release and so on [...]

Pro-tip: You can (and should) pre-merge your branch with develop before creating your pull request!

# Retrieve the lastest version of develop in your local branch
git merge --no-ff origin/develop

---

Archiving

Completed/cancelled campaigns should be removed ASAP from the lck2 repo (as it increases our image size) and added to the campaigns-archive one, with the following structure:

year
└── client
    └── campaign(s)

Last updated