README.md 1.99 KB
Newer Older
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
1
2
# OSDU CI/CD Pipeline Overview

David Diederich's avatar
David Diederich committed
3
Find the most recent documentation build [here](http://osdu.pages.community.opengroup.org/platform/ci-cd-pipelines/)
4

ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
5
A common place for shared CI/CD Pipeline files, for use will all OSDU projects.
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
6
7


David Diederich's avatar
David Diederich committed
8
[The OSDU Platform project](https://community.opengroup.org/osdu/platform) (including sub-projects) makes use of [GitLab's built-in CI/CD capabilities](https://docs.gitlab.com/ee/ci/introduction/) to provide a CI/CD pipeline that runs automatically on commits to the project. The stages in the pipeline include:
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
9
10
11
12
13
14
15

- Security scanning for known vulnerabilities (CVEs)
- Scanning for use of approved Licenses in submitted code and dependencies
- Correct attribution of the submitted material
- Unit tests
- Integration tests

ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
16

ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
17
18
**Continuous Integration**
* Developers merge/integrate the code to Master as soon as developer made a progress on the feature. Usually everyone commits to the Master every day.
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
19
* Continuous Integration assumes a high degree of tests which are automated into the software. we have good automated testing coverage as we progress we need to add more test cases.
David Diederich's avatar
David Diederich committed
20
* Continuous Integration refers to Integrating code, building and testing code (Unit and Integration tests) within the development environment.
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
21
22
23

**Continuous Delivery**

David Diederich's avatar
David Diederich committed
24
* Continuous Delivery means that you are able to do frequent deployments to a testing environment and/or production environment but may choose not to do it, due to various reasons (Ex: businesses not ready or OSDU applicatiions not ready)
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
25
26
27

**Continuous Deployment**

David Diederich's avatar
David Diederich committed
28
* Continuous Deployment means that every change goes through the pipeline and automatically (No manual approval) gets put into production, resulting in many production deployments every day.
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
29
30


ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
31
# A graphical overview of the CI/CD Pipeline:
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
32

David Diederich's avatar
David Diederich committed
33
**Continuous Delivery is not ready and its just an idea for now but we will have to figure out how & where to run UAT and Performance tests.**
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
34

David Diederich's avatar
David Diederich committed
35
**Continuous Deployment might not be applicable for OSDU.**
ethiraj krishnamanaidu's avatar
ethiraj krishnamanaidu committed
36

David Diederich's avatar
David Diederich committed
37
![alt text](CD1.jpg "CI/CD Pipeline")