add config to respect image pull policy

This commit is contained in:
David Liao 2020-07-08 23:53:52 -07:00
parent f1556ff060
commit c0914743b0
6 changed files with 22 additions and 3 deletions

View File

@ -250,8 +250,8 @@ spec:
operator: Exists
repository: mumoshu/actions-runner-controller-ci
ImagePullPolicy: Always
image: custom-image/actions-runner:latest
imagePullPolicy: Always
resources:
limits:
cpu: "4.0"
@ -317,7 +317,7 @@ The container image is based on Ubuntu 18.04, but it does not contain all of the
* docker
* build-essentials
The virtual environments from GitHub contain a lot more software packages (different versions of Java, Node.js, Golang, .NET, etc) which are not provided in the runner image. Most of these have dedicated setup actions which allow the tools to be installed on-demand in a workflow, for example: `actions/setup-java` or `actions/setup-node`
The virtual environments from GitHub contain a lot more software packages (different versions of Java, Node.js, Golang, .NET, etc) which are not provided in the runner image. Most of these have dedicated setup actions which allow the tools to be installed on-demand in a workflow, for example: `actions/setup-java` or `actions/setup-node`
If there is a need to include packages in the runner image for which there is no setup action, then this can be achieved by building a custom container image for the runner. The easiest way is to start with the `summerwind/actions-runner` image and installing the extra dependencies directly in the docker image:

View File

@ -48,6 +48,8 @@ type RunnerSpec struct {
// +optional
Image string `json:"image"`
// +optional
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// +optional

View File

@ -3019,6 +3019,10 @@ spec:
type: array
image:
type: string
imagePullPolicy:
description: PullPolicy describes a policy for if/when to pull
a container image
type: string
imagePullSecrets:
items:
description: LocalObjectReference contains enough information

View File

@ -3006,6 +3006,10 @@ spec:
type: array
image:
type: string
imagePullPolicy:
description: PullPolicy describes a policy for if/when to pull
a container image
type: string
imagePullSecrets:
items:
description: LocalObjectReference contains enough information

View File

@ -2815,6 +2815,10 @@ spec:
type: array
image:
type: string
imagePullPolicy:
description: PullPolicy describes a policy for if/when to pull a container
image
type: string
imagePullSecrets:
items:
description: LocalObjectReference contains enough information to let

View File

@ -261,6 +261,11 @@ func (r *RunnerReconciler) newPod(runner v1alpha1.Runner) (corev1.Pod, error) {
runnerImage = r.RunnerImage
}
runnerImagePullPolicy := runner.Spec.ImagePullPolicy
if runnerImagePullPolicy == "" {
runnerImagePullPolicy = corev1.PullAlways
}
env := []corev1.EnvVar{
{
Name: "RUNNER_NAME",
@ -298,7 +303,7 @@ func (r *RunnerReconciler) newPod(runner v1alpha1.Runner) (corev1.Pod, error) {
{
Name: containerName,
Image: runnerImage,
ImagePullPolicy: "Always",
ImagePullPolicy: runnerImagePullPolicy,
Env: env,
EnvFrom: runner.Spec.EnvFrom,
VolumeMounts: []corev1.VolumeMount{