◦ develop, staging, production environments ◦ Difficult to create multiple development environments • Git Flow as branching strategy ◦ Usages are slightly different depending on teams • Jenkins on AWS ◦ Some deployments to production depend on us
• No additional charge • Compatible both self-hosted and GitHub-hosted runners ◦ Deploy → self-hosted runners ◦ Test → GitHub-hosted runners • No need to maintain the management part of a CI / CD workflow (like a Jenkins master instance)
timing ◦ Mobile apps(1 release / 1~2 weeks) • Less beneficial for projects API / Frontend projects • More complex branch management, and not suitable for deploying to production frequently ◦ Creating release branches, Hotfix branches, Tags
◦ Same as GitHub Flow • GitLab Flow allows to have branch for a release ◦ master branch → staging env ◦ production branch → production env ◦ Merge to production branch for production release Staging env Prod env