In order to bring Orekit one step more in the CI/CD process, I’m looking into the building process of the Orekit’s website.
Currently, there are 2 sites:
So,the question is: when to deploy in one site or in the other. I think there are two main strategies: GitOps or environement promotion.
In GitOps philosophy, the only interface for the developer is the Git repository. All CI/CD actions are consecutive to a git operation (commit, merge on a given branch…). Following this concepts, we can imagine:
- a commit/merge on
master
branch: automatic deploy on www.orekit.org - a commit/merge on (a new)
dev
branch: automatic deploy on test.orekit.org
On the opposite, the promotion environment states that the pipeline can support manual operation, and this is strictly the same content that is deployed on staging environment and then production environment.
Following such idea, we can imagine a single pipeline, with a single main master
branch (a Github flow):
- when commit/merge on master, the site is deployed in test.orekit.org
- following that action, the next one is controlled by a manual action (fully supported by Jenkins or GitLab-CI),
- when activated, the site is then deployed in the www.orekit.org
Any comments?
I suspect that the first one is simpler for the web site as the target of the deployment must be set when compiling the site. A simple promotion will not succeed.