...
Ett fösta utkast för en gemensam spring boot pipeline:
PiplineRuns Trigger (stored in git applied via Argo CD, unique per service)
Reference common spring boot pipeline (stored in git applied via Argo CD)
Common Pipeline taskts:
git clone - params: repo rul, branch, credential reference
mvn build (test) - params: optional build parameters (base image?)
build and push image - params: image tg, image storage url, credential referens (base image?)
push k8 desired state to git (picked up by Argo CD) - params: repo rul, branch, credential referens
...
All pipelines parts (PipelineRuns, Pipeline, Task etc.) applied via Argo CD
Each cluster has its own Argo CD installation
One config repo per service plus one common repo common pipline parts
Helm chart to easily set up default config. each service has a non release helm chart in config repo importing common chart with default values and mandatory input parameters.
...
Hur rensar vi på bästa sätt images som inte används? Det kan skilja mellan test och prod men man bör även ta hänsyn till hur vi gör vid ny major release då vi måste ha två majors igång av samma tjänst.
Vilken promotion modell (promotion från staging till prod) vill vi ha? Branch, overlays, annat?
Finns möjlighet för bygge av feature branch automatiskt. Dvs när en ny remote branch skapas så får man per automatik ett bygg jobb som kan användas som stöd vid granskning av PR. I förlängningen även trigga kodskanning.
Hur bra fungerar tester när man kör Testcontainers (container i container)?
Finns det versionering av tekton objekt eller får man sköta det helt via namnsättning?
Kan vi nyttja Helm som vi tänkt (non released version) i Argo CD?
Hur bra är developer tool i OpenShift för pipeliens?
Länkar
https://www.testcontainers.org/supported_docker_environment/continuous_integration/tekton/
https://developers.redhat.com/products/openshift-local/overview
Andra lösningar
Andra lösningar som har utvärderats men som inte känns lika attraktiva:
...