Skip to content

Commit

Permalink
Merge pull request #53 from puzzle/ingenuity2k-docs_patch-1
Browse files Browse the repository at this point in the history
add relevant code tags // fix typos
  • Loading branch information
chrira authored Aug 15, 2022
2 parents 4b4eccc + fbeb333 commit 5fb9349
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions doc/Integration-Pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,46 @@

<img src="images/overview.png" alt="overview" width="400"/>

The integration pipeline is part of the development process. It contains several functions with provide help with promotions and deployment.
The integration pipeline is part of the development process. It contains several functions which provide help with promotions and deployment.
The following image sketches how the pipeline is interacting with the rest of the build process.
Every component triggers the function trackComponentVersions. The function gathers the data of the build an stores this in the file component-versions.yaml which is archived for every build.
Every component triggers the function `trackComponentVersions`. The function gathers the data of the build and stores this in the file `component-versions.yaml`, which is archived for every build.

<img src="images/component-a.png" alt="component-a" width="400"/>

When the build job was successful finished it automatically triggers the integration pipeline job.
This job also contains the function trackComponentVersions. The result of the function is also a component-version.yaml. But in contrast to the build job the integration pipeline aggregates the information from the upstream build that it was triggered by and updates only the changed component and the component-version.yaml from the last successful integration pipeline build.
Additionally the integration pipeline needs an own version.yaml (in the repository). This can be empty or it may contain external components with are necessary for a deployment. These information's will be added to the component-version.yaml
When the build job was successfully finished, it automatically triggers the integration pipeline job.
This job also contains the function `trackComponentVersions`. The result of the function also creates a `component-version.yaml`. But in contrast to the build job, the integration pipeline aggregates the information from the upstream build that it was triggered by and updates only the changed component and the `component-version.yaml` from the last successful integration pipeline build.
Additionally, the integration pipeline needs its own `version.yaml` (in the repository). This can be empty or it may contain external components which are necessary for deployment. This information will be added to the `component-version.yaml`.

<img src="images/integration-pipeline-overview.png" alt="integration-pipeline-overview" width="400"/>

Once the integration pipeline has successfully gathered all information a `Deploy` badge will be applied to the job overview.
This is done by the function addDeployLinks. This link triggers the deployment pipeline with the information of the integration pipeline (e.g. job-name and build-number).
This procedure ensures that only the component versions stored in the component-versions.yaml are deployed when triggering the deployment pipeline.
Once the integration pipeline has successfully gathered all information, a `Deploy` badge will be applied to the job overview.
This is done by the function `addDeployLinks`. This link triggers the deployment pipeline with the information of the integration pipeline (e.g. job-name and build-number).
This procedure ensures that only the component versions stored in the `component-versions.yaml` are deployed when triggering the deployment pipeline.

Once the `Deploy` badge is activated the deployment pipeline is triggered.
This pipeline contains the function deployChangedComponents.
Once the `Deploy` badge is activated, the deployment pipeline is triggered.
This pipeline contains the function `deployChangedComponents`.

----
**NOTE**

The function has yet only generic content.
Right now it just maps a rundeck file with defines the jobs that need to be run for a deployment.
To use the full functionality it has to be refactored.
Right now it just maps a rundeck file, which defines the jobs that need to be run for deployment.
To use the full functionality, it has to be refactored.

----

Once the Deployment is done the job in the deployment pipeline is marked with a star for the deployment on the specific environment.
Once the Deployment is done, the job in the deployment pipeline is marked with a star for the deployment on the specific environment.

<img src="images/deployment-pipeline-overview.png" alt="deployment-pipeline-overview" width="400"/>

You will find additional information on the detail page of the deployment pipeline:

* deployed-components.yaml will show you which components have been installed
* `deployed-components.yaml` will show you which components have been installed
* a badge with the information which integration pipeline triggered the installation

<img src="images/deployment-pipeline-detail.png" alt="deployment-pipeline-detail" width="400"/>

Futhermore the badge is also applied in the integration pipeline job that triggered the deployment.
Futhermore, the badge is also applied in the integration pipeline job that triggered the deployment.

## needed plugins

Expand Down

0 comments on commit 5fb9349

Please sign in to comment.