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/Yarn
etc. to build, hence warrant their ownbuilder agents
. Theseagents
are based on the odsjenkins base agent
and are hosted in the ods-quickstarter repository - next to their respective boilerplates.
Duringjenkins
builds, instances/pods of thosebuilder / agent
images can be found within the project specificcd
namespace.
Deployment: one global Jenkins instance in the centralods
namespace -
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'scd
namespace. The base image of the webhook proxy is located in the centralods
namespace -
Nexus - artifact & repository manager
Nexus is used as artifact manager throughout OpenDevStack. Eachjenkins agent
is 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 stageodsComponentStageUploadToNexus
can be used.
Deployment: There is one central instance of Nexus in theods
project -
Sonarqube - Sofware quality management
The OpenDevStack version of Sonarqube - preconfigured with language plugins used by the boilerplates. All generatedJenkinsfile
s contain a stageodsComponentStageScanWithSonar
for sourcecode review - which connects to this central instance.
Deployment: There is one central instance of SQ in theods
project -
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 theods
project -
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'scd
namespace. The base image of the doc gen service is located in the centralods
namespace -
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 forsonarqube
they 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 adeveloper
version 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