Laur IVAN

Jenkins Pipeline Deployment Variants

Posted by in IT, Tutorial

This post outlined a list of steps in a pipeline. When building actual pipelines, I’ve noticed the deployment process is more than just deployment. I’ve identified several variants: orchestration deployment (e.g. helios deployment) file copy like this git update for e.g. assets repositories This might be useful if you’re building a mechanism based on a shared library. HTH, A little experiment: If you find this post and ad below useful, please check the ad out :-)

How to Develop Pipelines – Some Best Practices

Posted by in IT, Software

These days I’m developing a bunch of pipelines to automatise the build/deployment process. Here are some things I’ve learned: How to develop Initially, I’ve started developing the pipeline as any other program: Create a repository, fire my editor, write a Jenkinsfile and use the Pipeline script from SCM. While the result is exactly what you want to have at the end, the edit-deploy-run cycle becomes a chore and it’s quite unpleasant at the beginning (I had a bunch of typos for example), so DON’T. Instead, create a simple pipeline with…read more

Sending HTTP requests with Jenkins Pipelines

Posted by in IT

As part of the CI/CD process, we might need to communicate with some external services’ APIs (e.g. notifying elastic search of a new index alias). I found an easy way to do it: Using a jenkins plugin. Jenkins plugin Jenkins has a HTTP request plugin. If you install it (or have it installed), you have the ability to send HTTP requests to external servers from Jenkins. Fortunately, this plugin also plays wery well with pipelines. You can sent practically any (REST) command to a destination:

You can customisethe request…read more

An Initial CI/CD Pipeline

Posted by in IT

Release-based deployments are sort of nice in the sense that you plan, draw a line, prepare stuff and release one or more components at the same time. It however stalls feature deployments a lot (e.g. a nice feature can be implemented in say a day but the release is sheduled in a month). It also gives way to out-of-order releases to please the business. Agile (CI/CD) aims to alleviate some of these problems. Prerequisites As part of the transition process, one has to establish a stack. In my case, it’s…read more

Initialise Python with GoCD

Posted by in IT, Tutorial

Following the deployment of a python-aware agent, we can start creating a pipeline. The first stage would be to: Clean up any previous data Create a virtual environment for python Install all dependencies from a requirements.txt file in our project Note: we assume the global pipeline settings and the Materials are properly set up (e.g. out project will be checked out in ./project). Since the above operations must be executed in order, I’ve set up a Setup stage with a job named virtualenv. The job has three tasks: rm virtualenv…read more