You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+29-8
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,45 @@
1
-
# Open Innovation Labs CI/CD Bootstrapping
2
-
This branch has a reduced subset of Red Hat Open Innovation Labs CI/CD components. We're in the process of refactoring this approach - pardon the mess and lack of documentation.
1
+
# Open Innovation Labs CI/CD
3
2
4
-
## Overview - Current State
5
-
This is an ansible inventory which identifies a list of applications, including CI / CD components, to be deployed to an OpenShift cluster. The ansible layer is very thin. It simply provides a way to orchestrate the application of [OpenShift templates](https://docs.openshift.com/container-platform/3.6/dev_guide/templates.html) across one or more [OpenShift projects](https://docs.openshift.com/container-platform/3.6/architecture/core_concepts/projects_and_users.html#projects). All configuration for the applications should be defined by an OpenShift template and the corresponding parameters file.
3
+
The goal of this repository is to:
4
+
5
+
1. provide all the tools necessary for a comprehensive CI/CD pipeline, built for and deployed to OpenShift
6
+
2. serve as a reference implementation of the [openshift-applier](https://github.com/redhat-cop/casl-ansible/tree/master/roles/openshift-applier) model for Infrastructure-as-Code (IaC)
7
+
8
+
A few additional guiding principles:
9
+
10
+
* This repository is built as a monolith i.e. all the individual components are designed to be deployed together. When adding a new tool, care should be taken to integrate that tool with the other tools.
11
+
* To deploy a subset of components, you can:
12
+
* Use the tags provided in the inventory to filter certain components. See [the docs](https://github.com/redhat-cop/casl-ansible/tree/master/roles/openshift-applier#filtering-content-based-on-tags) in openshift-applier
13
+
*_coming soon_ - Use the provided tooling to generate a new inventory with a user defined subset of components
14
+
* Generally speaking, there should only be one tool per functional use case e.g. Sonatype Nexus is the artifact repository so we will not support JFrog Artifactory
15
+
16
+
## How it Works
17
+
18
+
There is ansible inventory which identifies all components to be deployed to an OpenShift cluster. The ansible layer is very thin. It simply provides a way to orchestrate the application of [OpenShift templates](https://docs.openshift.com/container-platform/3.6/dev_guide/templates.html) across one or more [OpenShift projects](https://docs.openshift.com/container-platform/3.6/architecture/core_concepts/projects_and_users.html#projects). All configuration for the applications should be defined by an OpenShift template and the corresponding parameters file.
6
19
7
20
Currently, the following components are included in this inventory:
8
21
9
-
* Long lived CI/CD, Development and Demo projects
22
+
* Long lived CI/CD, Development and Demo OpenShift projects
10
23
* Jenkins, including
11
24
* S2I build for Jenkins plugins and configuration
12
25
* maven and npm slaves for Jenkins
13
26
* Sonatype Nexus
27
+
* SonarQube
14
28
* Example Java application and pipeline
15
29
30
+
Currently, the following components have templates but are not yet integrated into the inventory:
1. Log on to an OpenShift server `oc login -u <user> https://<server>:<port>/`
23
44
1. Your user needs permissions to deploy ProjectRequest objects
24
45
2. Clone this repository
@@ -30,7 +51,7 @@ Currently, the following components are included in this inventory:
30
51
After running the playbook, the pipeline should execute in Jenkins, build the spring boot app, deploy artifacts to nexus, deploy the container to the dev stage and then wait approval to deploy to the demo stage. See Common Issues
31
52
32
53
33
-
## Running a Subset of the Inventory
54
+
## Running a Subset of the Inventory
34
55
35
56
See [the docs](https://github.com/redhat-cop/casl-ansible/tree/master/roles/openshift-applier#filtering-content-based-on-tags) in casl-ansible
36
57
@@ -45,7 +66,7 @@ See [the docs](https://github.com/redhat-cop/casl-ansible/tree/master/roles/open
45
66
## Common Issues
46
67
47
68
- S2I Build fails to push image to registry with `error: build error: Failed to push image: unauthorized: authentication required`
48
-
-This appears to be an eventual consistency error. Wait a minute or two and then kick the build off again, it should work
0 commit comments