diff --git a/chapters/ci-cd.md b/chapters/ci-cd.md index bcbae476be7171a81eee52ed7fc2ab7f07133df1..ffcef861ff911729015ea9fd358f9c8412e62aa2 100644 --- a/chapters/ci-cd.md +++ b/chapters/ci-cd.md @@ -27,40 +27,24 @@ The generic links for all projects are: - Link: `https://gitlab.gwdg.de/%{project_path}/commits/%{default_branch}` - Badge image URL: `https://gitlab.gwdg.de/%{project_path}/badges/%{default_branch}/coverage.svg?style=flat-square` -The workflows we are currently using in Jenkins and the GitLab Runner are: +The workflows we are currently using in the GitLab Runner are: - Code building - Testing -- Code analyzer (Sonar) -- Packaging (JAR, WAR, DEB, XAR) +- Code analyzer +- Packaging (JAR, WAR, DEB, XAR, Docker Image) - Distribution (Nexus, APTLY repo, eXist repo) - Release Management (via GitLab Environments and gitflow) +### GitLab CI + +Using [GitLab for CI/CD](https://docs.gitlab.com/ee/ci/quick_start/) is `RECOMMENDED`. + ### Sample Configuration of the GitLab Runner There is a [full and documented example](https://gitlab.gwdg.de/SADE/SADE/blob/develop/.gitlab-ci.yml) of how the GitLab Runner is used in SADE. -### Sample Configuration of the Jenkins CI (Multibranch Pipelines) - -- On commit and push to a gitolite repo (such as -), Jenkins on [ci.de.dariah.eu](https://ci.de.dariah.eu/jenkins) -is notified (see projects' gitolite configuration) - -- Jenkins then checks out and builds the configured branches (see projects' Jenkins multibranch pipeline -configuration such as . - -- Stage *Preparation*: Prepare things - -- Stage *Build*: Build, JAR, WAR, and DEB packages from source code, deploy JAR and WAR packages to the [Nexus -repo](https://nexus.gwdg.de). For further information on Nexus cf. the [CI server -documentation](https://wiki.de.dariah.eu/display/FEAD/ci.de.dariah.eu). Jenkins is configured to deploy JARs and WARs -via Maven and a Nexus deploy-account. - -- Stage *Publish*: Publish DEB packages to the [DARIAH-DE Aptly Repo](https://ci.de.dariah.eu/aptly). Jenkins uses -a shared library of scripts and publishing is divided into four conditionals: TG version, DH version, SNAPSHOT version, -or RELEASE version due to given version suffixes! - ## Continuous Delivery and Continuous Deployment Continuous Delivery aims at minimizing the [gap between development and production](https://12factor.net/dev-prod-parity)