.. _jenkins_setup:

How to setup a node for CI intergration
=======================================

*NOTE that this guide has only been tested with Jenkins, but we assume a similar
set of tools would be required for different CI systems as well.*

This page is intended to provide pointers to useful instructions
that you need to setup your ``Jenkins`` executor and a list of tools install on it in order to
run the automated tests using the ``ci-management`` pipelines that are used on the `OpenCORD Jenkins <https://jenkins.lfbroadband.org/>`_

.. _jenkins_node:

Connect an executor to Jenkins
------------------------------

A good guide to do this can be found at `<https://devopscube.com/setup-slaves-on-jenkins-2/>`_.
At LF BB we setup one of the node in the Kubernetes cluster as Jenkins Agent, but that is not mandatory
as long as ``kubectl`` installed on the Jenkins Agent can interact with the cluster.

Prerequisites for this step are listed in the page, but reported here for your convenience:

* Ubuntu (our executors use 20.04, other versions/distros might work as well but they have not been tested)
* Java
* A valid Linux user account that can perform the required tasks on the agent server.
  (We suggest to use a dedicated ``jenkins`` user)

Once the executor is setup in as a Jenkins Agent there are a few other tools that the pipeline
will require in order to run the test cases:

* Kubectl - `<https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/>`_
* Helm - `<https://helm.sh/docs/intro/install/>`_
* Kail - `<https://github.com/boz/kail>`_
* Python3 - `<https://docs.python-guide.org/starting/install3/linux/>`_ (if you want to default ``python`` to ``python3``: `<https://webcache.googleusercontent.com/search?q=cache:uSzCWsWfCHsJ:https://linuxconfig.org/how-to-change-from-default-to-alternative-python-version-on-debian-linux+&cd=3&hl=en&ct=clnk>`_)
* pip3 - `<https://pip.pypa.io/en/latest/installation/>`_
* virtualenv - `<https://bootstrap.pypa.io/get-pip.py>`_
* repo - `<https://stackoverflow.com/questions/4350344/how-to-install-androids-repo-on-my-ubuntu-system>`_
* sshpass
* jq
* make

*NOTE that the tool without links are ``apt`` installable*
