Skip to main content

Deploy your application

Deployment strategies

Kubero has 2 different deployment strategies. Docker and GitOps. Both strategies can be used to deploy your application. Docker reqires a docker image and GitOps requires a git repository.

Docker

Select this stratiegy to deploy existing docker containers. Kubero will pull the image and run it.

GitOps

Use this strategy to deploy your application from a git repository. Kubero will clone the repository and run the build scripts. This strategy is the fastest way to deploy your application.

Build strategies

Gitops allows you to select from thre different build strategies:

Plain

This is the default for kubero. Your code is running on official images. The code will be built for every pod. This the fastes way, to run your code, but becomes more inefficient with every replica.

Nixpacks

The running Images are build with nixpacks. Dockerfile is predicted and generated by the code in your repository. Images are not optimized for size and speed of build.

Dockerfile

Builds the image based on the Dockerfile in your git root directory. This allows for the highest level of customization.

Deploy your application via UI

1) Create a pipeline with stages and connect it with your git repository This step will create the Namespaces, and configure the webhooks and deploymentkey in your repository (only if it is owned by you)

createpipeline

2) Create an app in every stage.

createapp

Deploy your application with kubectl (Infrastructure as Code)

Your application requires 2 custom resource definitions.

1) Download Pipeline CRD's here: https://github.com/kubero-dev/kubero-operator/blob/main/config/samples/

wget https://raw.githubusercontent.com/kubero-dev/kubero-operator/main/config/samples/application_v1alpha1_kuberopipeline.yaml
wget https://raw.githubusercontent.com/kubero-dev/kubero-operator/main/config/samples/application_v1alpha1_kuberoapp.yaml

2) Apply your changes with kubectl to create the pipeline

kubectl apply -f application_v1alpha1_kuberopipeline.yaml -n kubero

3) Apply your change in the namespace of your stage

kubectl apply -f application_v1alpha1_kuberopipeline.yaml -n example-production