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
masterbranch: automatic deploy on www.orekit.org
- a commit/merge on (a new)
devbranch: 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
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.