Quickstart¶
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!
Note
To make this quickstart guide actually quick we’ll fork an example public repository, so no secret configuration will be needed.
Prerequisites¶
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.
Note
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.
Note
You can install K3s on a Raspberry Pi - we have a dedicated version of IceCI for ARM as well (currently tested on a Raspberry Pi 4)
Installing and running IceCI¶
Prepare an IceCI namespace¶
Note
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
Installing 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.
If you’re installing IceCI in a cluster on a Raspberry Pi, use this dedicated manifest instead.
kubectl apply -f https://raw.githubusercontent.com/IceCI/IceCI/master/manifests/all_in_one-arm.yaml
Note
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.
Note
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.
Note
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!
Next steps¶
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.