Skip to content

Commit 3fbbc90

Browse files
author
Karl Baker
committed
Specify govuk-ruby-2.7.X as base image for building app images
This commit updates the `build-images` pipeline to specify the `govuk-ruby-2.7.X` image as the base image for building app images. There are a [number of different ways to do this](concourse/oci-build-task#14) but this commit uses makes use of the [`IMAGE_ARG_*` param as part of the `vito/oci-build-task` resource](concourse/oci-build-task#52) which allows us to use image resources already defined in the pipeline within our Dockerfiles, where the base image is served from a registry local to the pipeline. It does this by bringing in these images as resources, namespaced under separate ECR repositories, then passing in the appropriate image to the build process via the `IMAGE_ARG_base_image` param (reflected in app `Dockerfile`s); the `FROM` command in said `Dockerfile`s then point to the correct ECR repository for the `govuk-ruby-2.7.X` base image (rather than to Docker Hub).
1 parent 6f43768 commit 3fbbc90

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

concourse/pipelines/build-images.yml

+77
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,20 @@ resources:
126126
repository: frontend
127127
tag: latest
128128

129+
- <<: *docker-image
130+
name: govuk-ruby-2.7.2
131+
source:
132+
<<: *docker-image-source
133+
repository: govuk-ruby-2.7.2
134+
tag: latest
135+
136+
- <<: *docker-image
137+
name: govuk-ruby-2.7.3
138+
source:
139+
<<: *docker-image-source
140+
repository: govuk-ruby-2.7.3
141+
tag: latest
142+
129143
- <<: *docker-image
130144
name: infra-concourse-task-image
131145
source:
@@ -287,6 +301,10 @@ jobs:
287301
- in_parallel:
288302
- get: smokey-repo
289303
trigger: true
304+
- get: govuk-ruby-2.7.2
305+
params:
306+
format: oci
307+
trigger: true
290308
- get: smokey-version
291309
params:
292310
bump: minor
@@ -298,6 +316,9 @@ jobs:
298316
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
299317
input_mapping:
300318
git-repo: smokey-repo
319+
base-image: govuk-ruby-2.7.2
320+
params:
321+
IMAGE_ARG_base_image: base-image/image.tar
301322
- put: smokey-image
302323
params:
303324
image: image/image.tar
@@ -327,6 +348,10 @@ jobs:
327348
- in_parallel:
328349
- get: content-store-repo
329350
trigger: true
351+
- get: govuk-ruby-2.7.2
352+
params:
353+
format: oci
354+
trigger: true
330355
- get: content-store-version
331356
params:
332357
bump: minor
@@ -338,6 +363,9 @@ jobs:
338363
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
339364
input_mapping:
340365
git-repo: content-store-repo
366+
base-image: govuk-ruby-2.7.2
367+
params:
368+
IMAGE_ARG_base_image: base-image/image.tar
341369
- put: content-store-image
342370
params:
343371
image: image/image.tar
@@ -360,6 +388,10 @@ jobs:
360388
- in_parallel:
361389
- get: frontend-repo
362390
trigger: true
391+
- get: govuk-ruby-2.7.3
392+
params:
393+
format: oci
394+
trigger: true
363395
- get: frontend-version
364396
params:
365397
bump: minor
@@ -371,6 +403,9 @@ jobs:
371403
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
372404
input_mapping:
373405
git-repo: frontend-repo
406+
base-image: govuk-ruby-2.7.2
407+
params:
408+
IMAGE_ARG_base_image: base-image/image.tar
374409
- put: frontend-image
375410
params:
376411
image: image/image.tar
@@ -429,6 +464,10 @@ jobs:
429464
- in_parallel:
430465
- get: publisher-repo
431466
trigger: true
467+
- get: govuk-ruby-2.7.2
468+
params:
469+
format: oci
470+
trigger: true
432471
- get: publisher-version
433472
params:
434473
bump: minor
@@ -440,6 +479,9 @@ jobs:
440479
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
441480
input_mapping:
442481
git-repo: publisher-repo
482+
base-image: govuk-ruby-2.7.2
483+
params:
484+
IMAGE_ARG_base_image: base-image/image.tar
443485
- put: publisher-image
444486
params:
445487
image: image/image.tar
@@ -462,6 +504,10 @@ jobs:
462504
- in_parallel:
463505
- get: publishing-api-repo
464506
trigger: true
507+
- get: govuk-ruby-2.7.2
508+
params:
509+
format: oci
510+
trigger: true
465511
- get: publishing-api-version
466512
params:
467513
bump: minor
@@ -473,6 +519,9 @@ jobs:
473519
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
474520
input_mapping:
475521
git-repo: publishing-api-repo
522+
base-image: govuk-ruby-2.7.2
523+
params:
524+
IMAGE_ARG_base_image: base-image/image.tar
476525
- put: publishing-api-image
477526
params:
478527
image: image/image.tar
@@ -528,6 +577,10 @@ jobs:
528577
- in_parallel:
529578
- get: router-api-repo
530579
trigger: true
580+
- get: govuk-ruby-2.7.2
581+
params:
582+
format: oci
583+
trigger: true
531584
- get: router-api-version
532585
params:
533586
bump: minor
@@ -539,6 +592,9 @@ jobs:
539592
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
540593
input_mapping:
541594
git-repo: router-api-repo
595+
base-image: govuk-ruby-2.7.2
596+
params:
597+
IMAGE_ARG_base_image: base-image/image.tar
542598
- put: router-api-image
543599
params:
544600
image: image/image.tar
@@ -561,6 +617,10 @@ jobs:
561617
- in_parallel:
562618
- get: signon-repo
563619
trigger: true
620+
- get: govuk-ruby-2.7.2
621+
params:
622+
format: oci
623+
trigger: true
564624
- get: signon-version
565625
params:
566626
bump: minor
@@ -572,6 +632,9 @@ jobs:
572632
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
573633
input_mapping:
574634
git-repo: signon-repo
635+
base-image: govuk-ruby-2.7.2
636+
params:
637+
IMAGE_ARG_base_image: base-image/image.tar
575638
- put: signon-image
576639
params:
577640
image: image/image.tar
@@ -594,6 +657,10 @@ jobs:
594657
- in_parallel:
595658
- get: static-repo
596659
trigger: true
660+
- get: govuk-ruby-2.7.2
661+
params:
662+
format: oci
663+
trigger: true
597664
- get: static-version
598665
params:
599666
bump: minor
@@ -605,6 +672,9 @@ jobs:
605672
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
606673
input_mapping:
607674
git-repo: static-repo
675+
base-image: govuk-ruby-2.7.2
676+
params:
677+
IMAGE_ARG_base_image: base-image/image.tar
608678
- put: static-image
609679
params:
610680
image: image/image.tar
@@ -627,6 +697,10 @@ jobs:
627697
- in_parallel:
628698
- get: authenticating-proxy-repo
629699
trigger: true
700+
- get: govuk-ruby-2.7.2
701+
params:
702+
format: oci
703+
trigger: true
630704
- get: authenticating-proxy-version
631705
params:
632706
bump: minor
@@ -638,6 +712,9 @@ jobs:
638712
file: govuk-infrastructure/concourse/tasks/build-image-definition.yml
639713
input_mapping:
640714
git-repo: authenticating-proxy-repo
715+
base-image: govuk-ruby-2.7.2
716+
params:
717+
IMAGE_ARG_base_image: base-image/image.tar
641718
- put: authenticating-proxy-image
642719
params:
643720
image: image/image.tar

concourse/tasks/build-image-definition.yml

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ image_resource:
55
repository: vito/oci-build-task
66
inputs:
77
- name: git-repo
8+
- name: base-image
89
outputs:
910
- name: image
1011
params:

0 commit comments

Comments
 (0)