| branch | Last Completed E2E test status | Last Successful E2E test status | CI test status |
|---|---|---|---|
| master | |||
| 4.x | |||
| 3.x |
OpenDevStack (ODS) Core houses all the central infrastructure components.
All the contained components except Atlassian tools are built in the Openshift central ods namespace.
The extended, most up to date, user friendly documentation can be found @ opendevstack.org
-
Jenkins master & base agent - the basis of the ODS build engine
The base agent provides plugins for Sonarqube, optionally Snyk, AquaSec, CNES, skopeo and is HTTP proxy aware. Specific quickstarters / boilerplates require different technologies e.g.gradle,NPM/Yarnetc. to build, hence warrant their ownbuilder agents. Theseagentsare based on the odsjenkins base agentand are hosted in the ods-quickstarter repository - next to their respective boilerplates.
Duringjenkinsbuilds, instances/pods of thosebuilder / agentimages can be found within the project specificcdnamespace.
Deployment: one global Jenkins instance in the centralodsnamespace -
Jenkins Webhook proxy - the glue layer between Bitbucket / Jira and Jenkins - to start a build from a change in a repository.
Deployment: There is one instance of the webhook proxy in each project'scdnamespace. The base image of the webhook proxy is located in the centralodsnamespace -
Nexus - artifact & repository manager
Nexus is used as artifact manager throughout OpenDevStack. Eachjenkins agentis configured to bind to the installed NEXUS to centralize build / dependency artifact resolution. In case one wants to upload an artifact to Nexus, jenkins component stageodsComponentStageUploadToNexuscan be used.
Deployment: There is one central instance of Nexus in theodsproject -
Sonarqube - Sofware quality management
The OpenDevStack version of Sonarqube - preconfigured with language plugins used by the boilerplates. All generatedJenkinsfiles contain a stageodsComponentStageScanWithSonarfor sourcecode review - which connects to this central instance.
Deployment: There is one central instance of SQ in theodsproject -
ODS Provisioning Application - The 'entrypoint' to work with OpenDevStack
Provides the functionality to provision new projects and also components within those, based on boilerplates.
The code for the provision application can be found here. In case you want to work on the provision application, and build it yourself - there is a quickstarter that allows this, namely ODS Provisioning Quickstarter.
Deployment: There is one central instance of the provisioning app in theodsproject -
ODS document generation service - a service used to create PDF documents from json input and html templates. Used by the release manager quickstarter. The templates are located in the templates repository.
The code for the documentation generation service is located here. In case you want to work on the document generation service, and build it yourself - there is a quickstarter that allows this, namely ODS Document Generation Service.
Deployment: There is one instance of the document generation service in each project'scdnamespace. The base image of the doc gen service is located in the centralodsnamespace -
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 inods-configuration/ods-core.env. -
Tests & Installation verification
The tests can be started with
The automated tests for ods core are in two locations:
a) located side by side to the components, e.g forsonarqubethey are located in sonarqube/test.sh.
b) inside the tests directory.make test, which will call two test-suites. Namely, the tests to create a new project in tests/create-projects and those in tests/ods-verify to verify if all components are installed successfully and run. If both pass - the setup of ods-core components is successful. Once those tests have passed, all quickstarters in ods-quickstarters can be run viamake test-quickstarter. -
ODS Development Environment / ODS in a box
ODS also ships as Amazon AMI - ready to go. The scripts to create the AMI can be found in ods-devenv. These scripts can be used also be used to install adeveloperversion of ODS on a plain linux vm. Simply execute bootstrap.sh
the log files contain color coding, they are best viewed using a tool supporting color coding, like tail. E.g.:
# after untaring view the log file 'current' like so:
tail -fn +1 current