Continuous Integration (CI) FAQs

Updated 3 days ago by Manish Jaiswal

This article addresses some frequently asked questions about Harness Continuous Integration (CI).

In this topic:

Before You Begin

General

How can a Step call Service Dependency?

A step can call a service dependency on localhost or 127.0.0.1along with the port on which the service dependency is running. See Configure Service Dependency.

What is the maximum Timeout for a CIE Step, or Stage?

We have a maximum time limit of 24 hours for pod uptime. Hence, the CI stage can run for a maximum of 24 hours, and post that the pod dies.

The default Timeout for a CIE step is 10h.

What are the default values for Memory and CPU for CIE steps?

Memory

CPU

500Mi

400m

How to replicate a list of Drone Plugin settings in CIE?

For Lists, merge them separated by a comma.

For example:

Drone

CIE

 Settings:
tags:
- latest
- '1.0.1'
- '1.0'
Settings:
tags: latest,1.0.1,1.0

Permissions required for GitHub Personal Access Token in NextGen and GitX.

GitHub permission for Personal Access Token (PAT) in NextGen:

Permissions required to run CIE builds in an OpenShift cluster.

You need the following permissions on Secret, Pod, and Event to run the CIE builds in an OpenShift cluster:

create

get

list

watch

update

delete

List of minimum permissions required for Service Account role for Kubernetes Connector.

You need the following permissions for a Service Account role for Kubernetes Connector:

Pods and Secrets

create

get

list

watch

update

delete

Events

list

watch

How can you share the Codebase configuration between Stages in the CIE Pipeline?

You can use the Save and Restore Cache steps to share data between stages. Each CIE stage runs in a different pod. The workspace allows you to share data between different steps in the same stage.

Does CIE support running Docker-in-Docker images?

Yes! See Run Docker-in-Docker in a CI Stage.

How can you execute docker commands in a CI Pipeline that runs on a Kubernetes cluster that lacks a docker runtime?

DinD (Docker-in-Docker) can be run as a service, with the shared path set to /var/run. Following that, the steps can be executed as Docker commands. This works regardless of the Kubernetes container runtime.

The DinD service does not connect to the Kubernetes node daemon. It launches a new docker daemon on the pod, and other containers use that docker daemon to run their commands.


Please Provide Feedback