title: "OpenShift Components" description: "A set of base images and deployable apps for use in OpenShift by BC Gov Developers."
A trove of apps/components/stuff/things that are usable by anyone running OpenShift - in particular BC Gov teams "doing" Agile/DevOps.
For the most part (maybe 100%...), this repo contains the OpenShift build and/or deployment templates for building and/or running things in OpenShift - it does not contain the "things" themselves.
This is heavily under development and documentation may be scant. You've been warned.
In its current form, this repo is a central place for the DevOps team to collect artifcats for the shared things it is providing, but also about "discovery" by teams of shared things that are available so fewer wheels are reinvented within BC Gov.
This folder contains artifacts for useful team "support applications". These are things that team would generally install and use, rather than using as the basis of custom development.
Taiga is a user-friendly Agile project management and collaboration tool with functionality somewhere between Trello and Jira. The assets provided here enable a team to deploy their own Taiga instance within an OpenShift project space.
Docker files to build Jenkins builder images
Android
This image contains OpenJSK >= 1.8.0 and the Android
SDK manager / tools for gradle
builds. See the
Docker file for more precise version information.
BDD Stack
Python3
This image contains Python 3 and support tools like
pip
.
Python 3 & node.js 6.11
This image contains Python 3 (with pip
) and RedHat node.js 6.11 (with npm
).
node.js 6.11 && node.js 8.11
This image contains stock node.js 6.11 with the
latest npm
(>= 6.0.0), yarn
, and nsp
cli tools installed
globally; see NODE_HOME to find installed components.
npm > 5.7.0 has the ci
option that greatly increases
package install in a ci environment. Consider using it!
Image Reference 172.50.0.2:5000/openshift/jenkins-slave-node6:latest
Sonar
Zap
Docker files to build data storage images
These images are manually built (and rebuild) when the Jenkins slave image is updated. Contact your friendly neighbourhood DevOps lead if you need something built or keep reading to do-it-yourself.
To build your own image, and add it to the registry, but keep it private to your
image stream(s) you can use the OpenShift build.json
template in this repo
with the following command (make sure you're in tools ;) ):
oc process -f build.json \
-p NAME=jenkins-slave-node \
-p OUTPUT_IMAGE_TAG=6 \
-p GIT_REPO_URL=https://github.com/BCDevOps/openshift-components.git \
-p SOURCE_CONTEXT_DIR=cicd/nodejs6 | oc create -f -
Parameter | Optional | Description |
---|---|---|
NAME | NO | The name of your image |
GIT_REPO_URL | YES | The location of the repository |
SOURCE_CONTEXT_DIR | YES | The path to the Dockerfile |
You normally dont need to change GIT_REPO_URL
unless you've cloned the repo
and have added or changed Dockerfiles.
You can then check the Web GUI or use oc get builds
to see the build progress.
When done you'll have a newly minted Docker image you can use; just reference
the image from your own image stream rather than OpenShift For example:
Image Stream | Reference |
---|---|
OpenShift | 172.50.0.2:5000/openshift/jenkins-slave-node |
Your Project | 172.50.0.2:5000/mycool-project-tools/jenkins-slave-node |
Pro Tip
You can use the following command to find the latest version for a particular majour version:
curl -s https://nodejs.org/dist/latest-v8.x/ | \
sed -E 's/<[^>]*>//g' | \
grep 'linux-x64.tar.xz' | \
awk '{ print $1 }' | \
awk -F\- '{ print $2 }'
Update the Docker files with this version (and create PR).