Author: Daniyal Javed


In this blog I’ll describe how to configure Slack notifications to alert failures and success in your OpenShift Jenkins pipeline. Huge shoutout to Chak from Red Hat who inspired this blog. The code from this repo is contributed to Chak’s repo and is built on his instructions.

Create OpenShift Pipeline:

After logging into OpenShift, create a new project and run:

$ oc process -f https://raw.githubusercontent.com/daniyalj/pipeline-weather-slack/master/pipeline.yaml | oc create -f -

The link to the pipeline code is here

This should create a pipeline called openshift-slack-pipeline in your OpenShift Pipelines:

pipeline

Next, navigate to Applications -> Routes and click on the jenkins route. this route is dynamically created upon creation of the OpenShift pipeline

Create a token for Slack:

Navigate to https://my.slack.com/services/new/jenkins-ci choose your workspace and a Slack channel where you want the notifcations to appear.

slack-workspace

Follow setup instructions from Slack:

In the resulting page, setup instructions will be provided from Slack to integrate it with Jenkins. Your Global Slack Notifier Settings should look like this:

slack-workspace

Run the pipeline:

Navigate to Builds -> Pipelines -> Start Pipeline next to openshift-slack-pipeline

The pipeline should fail on stage Build as it is expecting an already present buildconfig:

build-fail

At the same time, you should also see a Slack message indicating that the build has failed:

build-fail

Deploy the application:

Run the following command to deploy a test app for the pipeline:

$ oc new-app https://github.com/daniyalj/simple-nodejs-weather-app.git --name=weather-app

Run the pipeline again:

Now that there is a weather-app deployment and build present, the pipeline should succeed and should send Slack notificatons indicating success:

success

And there you have it! This was a quick tutorial on how to integrate Slack notifications in your OpenShift Jenkins pipeline. This example is pretty basic to show the functionality and can be built further to do multi-project deployment as well as multi-cluster deployments.

Tagged:



//comments