OpenDevStack (ODS) Core houses the all the central infrastructure components.
All the contained components except Atlassian tools are built in the Openshift central CD
namespace.
-
Jenkins master & base slave - the basis of the ODS build engine
The base slave provides plugins for OWASP, Sonarqube, and CNES and is HTTP proxy aware. Specific quickstarters / boilerplates require different technologies e.g.gradle
,NPM/Yarn
etc. to build, hence warrant their ownbuilder slaves
. Theseslaves
are based on thisbase slave
and are hosted in the ods-project-quickstarter repository - next to their respective boilerplates.
Duringjenkins
builds instances/pods of thosebuilder
images can be found within the project specificproject-cd
namespace. -
Nexus - repository manager
Nexus is used as artifact manager throughout OpenDevStack. Eachjenkins slave
is configured to bind to the installed NEXUS to centralize build / dependency artifact resolution. There is one central instance of Nexus in theCD
project -
Sonarqube - Sofware quality management
The OpenDevStack version of Sonarqube - preconfigured with language plugins used by theboilerplates
. All generatedjenkinsfiles
contain a stagestageScanForSonarQube
for sourcecode review - which connects to this central instance. There is one central instance of SQ in theCD
project -
Shared images - Docker Images for common functionality
- The authentication proxy for crowd - used by the RShiny and Jupyther quickstarters, which themselves don't provide direct authentication integration.
- The webhook proxy used to connect Bitbucket webhooks to their respective jenkins instances. For example a merged PR will trigger the respective
webook proxy
instance in the rightproject
, which in turn creates anopenshift build pipeline
, that triggers jenkins to build.
-
Atlassian infrastructure
Contains all the ansible scripts to setup jira / confluence / bitbucket and atlassian crowd. Optional, if you have your own instances running, you can just configure OpenDevStack to use those.