3 minute read

Starting from version 24.1, Release Runner (formely known as Release Remote Runner) installation is very straightforward. This article outlines how I installed in a minute a Release Runner on my laptop.

My previous article Remote Runner installation is now outdated.

Environment:

Component Version Note
Digital.ai Release 24.1.2 Release running on my laptop, port 5516
xl client 24.1.2 xl client installed on my laptop
Docker Desktop 4.31.0 Docker desktop running on my laptop
k8s 1.29.2 Kubernetes in Docker Desktop

Step 1: Preparation

Create a token in Release to be used by the Release Runner to connect to the Release instance.
You’re done, go to the installation!

Step 2: Installation

Run the xl kube install command:

➜  xl kube install
? Following kubectl context will be used during execution: `docker-desktop`? Yes
? Select the Kubernetes setup where the Digital.ai Devops Platform will be installed, updated or cleaned: PlainK8s [Plain multi-node K8s cluster]
? Do you want to use an custom Kubernetes namespace (current default is 'digitalai'): Yes
? Enter the name of the Kubernetes namespace where the Digital.ai DevOps Platform will be installed, updated or cleaned: dairunner
? Do you want to create custom Kubernetes namespace dairunner, it does not exist: Yes
? Product server you want to perform install for: dai-release-runner [Digital.ai Release Runner]
? Select type of image registry: default [Default (Uses various public image registries for the installation images)]
? Enter the Release Runner repository name (eg: <repositoryName> from <repositoryName>/<imageName>:<tagName>): xebialabs
? Enter the Release Runner image name (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): release-runner
? Enter the Release Runner image tag (eg: <tagName> from <repositoryName>/<imageName>:<tagName>): 24.1.2
? Enter the Release Runner Helm Chart release name: release-runner
? Use default version of the Release Runner helm chart: Yes
? Enter the Release URL that will be used by Release Runner: http://host.docker.internal:5516
? Enter the Release Token that will be used by Release Runner: rpa_137c80a697cb5aee1befce2111e544f75acb0d41
? Enter the Release Runner replica count: 1
? Enable truststore for Release Runner: No
  • I choose to use a custom namespace, dairunner; you can keep the default one
  • When I ran the installation, the latest version of the Release Runner is 24.1.2. You can install a more recent version is available. Check DockerHub
  • From the Release Runner, the Release instance is accessible using the url http://host.docker.internal:5516
	 -------------------------------- ----------------------------------------------------
	| LABEL                          | VALUE                                              |
	 -------------------------------- ----------------------------------------------------
	| AdminPassword                  | 6iA7O6qUdZ1bp2Fo                                   |
	| CleanBefore                    | false                                              |
	| CreateNamespace                | true                                               |
	| ExternalOidcConf               | external: false                                    |
	| GenerationDateTime             | 20240624-150744                                    |
	| ImageNameRemoteRunner          | release-runner                                     |
	| ImageRegistryType              | default                                            |
	| ImageTagRemoteRunner           | 24.1.2                                             |
	| IngressKeystoreSource          | generate                                           |
	| IngressType                    | nginx                                              |
	| IngressTypeGeneric             | nginx                                              |
	| IngressTypeOpenshift           | route                                              |
	| IsCustomImageRegistry          | false                                              |
	| IsRemoteRunnerTruststoreEnab.. | false                                              |
	| K8sSetup                       | PlainK8s                                           |
	| Namespace                      | dairunner                                          |
	| OidcConfigType                 | no-oidc                                            |
	| OsType                         | darwin                                             |
	| ProcessType                    | install                                            |
	| RemoteRunnerClean              | false                                              |
	| RemoteRunnerCount              | 1                                                  |
	| RemoteRunnerGeneration         | false                                              |
	| RemoteRunnerInstall            | true                                               |
	| RemoteRunnerInstallType        |                                                    |
	| RemoteRunnerReleaseName        | release-runner                                     |
	| RemoteRunnerReleaseUrl         | http://host.docker.internal:5516                   |
	| RemoteRunnerRepositoryName     | xebialabs                                          |
	| RemoteRunnerToken              | rpa_137c80a697cb5aee1befce2111e544f75acb0d41       |
	| RemoteRunnerTokenExpiration    | 0                                                  |
	| RemoteRunnerUseDefaultLocation | true                                               |
	| RemoteRunnerUserEmail          | release-runner@no.reply                            |
	| RemoteRunnerUserPassword       | pRVcW3EGpSQ3T3Th                                   |
	| ServerType                     | dai-release-runner                                 |
	| ShortServerName                | other                                              |
	| UseCustomNamespace             | true                                               |
	 -------------------------------- ----------------------------------------------------
For current process files will be generated in the: digitalai/dai-release-runner/dairunner/20240624-150744/kubernetes
Generated answers file successfully: digitalai/generated_answers_dai-release-runner_dairunner_install-20240624-150744.yaml
Starting install processing.
Installing helm chart for Digital.ai Release Runner from: digitalai/dai-release-runner/dairunner/20240624-150744/kubernetes/runner-0.1.0.tgz
Using helm chart values from: digitalai/dai-release-runner/dairunner/20240624-150744/kubernetes/values-cli.yaml
Installed helm chart release-runner to namespace dairunner
➜

That’s it, installation done! :-)

Step 3: Check

Open the runners page in Release (from the Admin menu at the top right). The new runner should be listed.

You can edit some properties of the runner:

Eviction Time: when a container based task is executed, a pod is created for this task. After the execution of the task, the pod is cleaned. It’s destroyed after the eviction time. Eviction time avoids the overhead of creating a new pod if a new task (with the same type) is requested just after the first one.