Contents
Table of Contents | ||
---|---|---|
|
CICD Orchestration
The following diagram illustrates the Akraino CI/CD components:
...
While there are automated workflow steps, it is considered proper Gerrit etiquette for contributors to run all available analysis and tests on the development workstation. In this way, Jenkins in particular acts as more of a safety net, including any additional checks that may only be performed remotely. This also reduces the number of Gerrit patch sets and is more considerate of peer reviewer’s time.
Overview of Akraino CD Process
Herewith are the configuration steps used to achieve a Continuous Deployment setup (Webhook), when committing to Gerrit:
- Configure Jenkins as a Continuous Integration tool that will receive the hook from Gerrit.
Once the developer commits the code in Gerrit, the respective Jenkins jobs will trigger, running the build and test steps.
Once the build and test steps complete, the respective unit test case results (pass/fail) will be posted to SonarQube.
- If the job is successful per Jenkins job instructions, it will create JAR/WAR files and Docker containers, then post them to the Nexus3 repo.
CD Environment for Akraino Seed Code
Akraino Seed Code is in Linux Foundation Nexus, currently available to TSC as of this writing. All authorized developers will be granted commit access to Linux Foundation Gerrit. Developers are required to build JJB templates for their projects to integrate with Linux Foundation Jenkins. Code Reviewers will be assigned to review and approve the code commits to merge. Version control is employed to allow developers to choose the specific version. The latest version is the default.
...