CI Configuration
The CI pipeline is a set of steps that follow the principles of Continuous integration. The CI pipeline is usually triggered after a git push
command and consists of building and testing the application in order to detect any issues early on during the development process. More information about the CI pipelines can be found here.
What you'll learn
How to configure the build process of a CodeNOW Component.
Prerequisites
- Knowledge of Tekton Pipelines
- Application Component
Where to find the CI configuration?
After opening the page of a specific component, scroll down until you see Continuous Integration. Everything in that section is CI configuration.
Options
Global Configuration
CI configuration is stored in .codenow.yaml
in the root of your repository. Therefore, different git branches can have different CI configurations. However, if you set the Global Configuration option, all branches will use the CI configuration from your default git branch.
Advanced Mode
If you set Advanced mode, Dockerfile and helm descriptor from the repository will be used in the build pipeline (Dockerfile for container-build
and helm descriptor for push-helm
) instead of a predefined template. This option isn't available for Docker generic and Helm generic components for obvious reasons.
Build configuration
You can do the following in order to configure the build process of your component:
- Change the build image
- You can use official images from Docker Hub or create your own Custom images
- Change CI pipelines for Release and Preview builds
- You can either use CodeNOW's predefined pipelines, or create Custom CI pipelines
- Set Environment variables for custom pipelines that require them
Runtime configuration
By default, CodeNOW generates Dockerfile
and helm
files from predefined templates. Some parameters of these templates can be configured - although these options are stack-specific, you can always edit the following:
- Base image for the runtime container
- You can use official images from Docker Hub or create your own Custom images
- Port on which the service will be exposed
When in Advanced mode, your own Dockerfile
and helm
files are used, therefore, runtime configuration isn't available.