This tutorial will help you install IceCI in your Kubernetes cluster and set up your first pipeline using an example repository in less than 15 minutes. Let’s start integrating!
To make this quickstart guide actually quick we’ll fork an example public repository, so no secret configuration will be needed.
Before installing IceCI you’ll need to have access to a Kubernetes cluster. If you’re using an existing cluster in the cloud or on-premise, you’re pretty much good to go. You can also launch IceCI in a local cluster using Minikube or K3s with k3sup. In that case just follow the installation instructions provided by the respective documentation.
When using Minikube you will need to enable the ingress addon to be able to reach the UI. It can be enabled with
minikube addons enable ingress. For more information please refer to the documentation.
Installing and running IceCI¶
Prepare an IceCI namespace¶
This step is optional - if you’d rather run IceCI in the default namespace, go ahead and skip to the next step.
Create a namespace in which IceCI will operate and update your kubectl config to use that namespace.
kubectl create ns iceci kubectl config set-context --current --namespace=iceci
You can use a handy all-in-one manifest to install IceCI. Applying it in your cluster will set up all the necessary objects to run the applications.
kubectl apply -f https://raw.githubusercontent.com/IceCI/IceCI/master/manifests/all_in_one.yaml
Once all the applications are running, you’re all ready to go.
Apart from the all-in-one file, all the manifests can be found as separate files in the IceCI GitHub repository
Configuring the repository¶
Now you can access the UI through your browser and add a repository to start running pipelines. To do that, simply click the
+ button on the top of the left navigation bar and create a new repository using the form.
When using Minikube, the default IP address of the VM is
192.168.99.100. You can use
minikube ip to make sure that it’s the address you should be using.
For the purposes of this guide, we’ll fork the quickstart example repository. After forking this repository, all you need to do is copy the clone url and paste it into the Repository URL field in the form.
The example repository is also a template, so instead of forking you can use it to create a new one!
Once the repository is added to IceCI you’re all set. IceCI will react to Git events, so all that’s left is to push a commit to trigger a new pipeline. Try it for yourself!
As you can see, the example pipeline is very simple - just to get you acquainted with the structure of the config file. For more information about the configuration file - check out the Pipelines section of the documentation. We’ve also prepared a small Python application along with a ready pipeline which you can find on GitHub.