1

I want to use CI in our company with ANT Migration Tool. In our case TeamCity, but it doesn't matter. We have our Production organization and a few sandboxes. Developer sandbox, QA sandbox, UAT sandbox and then our Production. The question is, when I would like to push changes from DEV sandbox to QA sandbox should I use metadata stored on git or get changes directly from DEV? What is better pratice?

1
  • 1
    I would suggest you to use git for that. In that case, every developer would be sure, that all required changes only has been pushed to repo manually, not entire org
    – kurunve
    Commented May 4, 2016 at 9:04

2 Answers 2

3

This should be your Example dev cycle

enter image description here

  1. Pull dev branch from git to get most recent changes
  2. Checkout local feature branch

  3. Push to developer sandbox

  4. Make changes to sandbox (config or code)

  5. Pull from developer sandbox

  6. Commit changes

  7. Repeat last 3 steps until feature is complete

  8. Checkout dev branch

  9. Pull dev branch

    1. If there are changes:

    2. Checkout local branch

    3. Rebase local branch on dev

    4. Handle merge conflicts

    5. Push to developer sandbox (to verify push works)

    6. Commit changes

    7. Checkout dev branch

  10. Merge local branch into dev branch (squash merge preferred to make backing out changes easier)

  11. Push to dev branch

  12. Delete local feature branch

1

I highly recommend to use git. For your case , i think the best structure would be, get a full copy sandbox for all your developers. Place metadata, classes, pages in git. Developers will work on their local and test their developments in their own sandbox, after they are done ,the will create pull request for all items that they develope, they wont have access to main org.

Once you reviewed , their codes or developments, merge their codes in to the base. Once you merge their developments, set up a jenkins server which is being triggered for every build and give it a task to execute all test classes. Based on test result , you can deploy the changes in production or whereever you want.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .