Hello,
We would like to introduce continuous deployments / deployment previews to improve our workflow for reviewing/testing developed features.
The workflow we have in mind would be the following:
- A developer creates a new PR in Bitbucket which triggers an action
- A Docker image gets built for this repository and PR (we have multiple repositories with different requirements)
- The built Docker image gets deployed to a server on a separate vhost (e.g. my-feature-branch-1234.testing.example.org) where it can get accessed for reviewing/testing the feature before merging the PR
- Production DB gets cloned into this new environment (if possible with additional migration scripts)
- Environment gets updated every time the PR gets updated
- Environment gets deleted/cleaned up once the PR gets merged or declined
- Everything should be fully automated
We searched for some already existing solutions, however we could not find one that matches all our requirements. Either they are only available for github, they don't have the possibility to provide docker images or they don't have a workflow for databases.
So before we start building a custom solution (probably with AWS EC2 and a few custom scripts between AWS and Bitbucket), we would like to know if someone has experience with this and we hope that some Atlassian customers already have something similar included in their workflow.
So our questions would be:
- Does someone know a service which would meet our requirements out of the box? Maybe there are some less known services or undocumented features of other services..
- If not, did you build a custom solution for this? Did you have any problems with it?
- Do you have some other inputs for this workflow?
Thank you for your help!
Cyril