commit | 44480530b22a77e71622c50874c7a3f29c5f0591 | [log] [tgz] |
---|---|---|
author | Paul Sokolovsky <paul.sokolovsky@linaro.org> | Mon Jan 08 10:18:12 2024 +0300 |
committer | Paul Sokolovsky <paul.sokolovsky@linaro.org> | Mon Jan 08 10:18:12 2024 +0300 |
tree | 6520de8e3bcbcc4305d6b648e677bf9375cb1a24 | |
parent | 8573ce5905a2fcd0c872ef85c043cde672d196d0 [diff] |
docker-amd64-tf-a-eclair-3.12: Version the actual docker image too We now have consistent setup for versioned ECLAIR images/builders across 3.12/3.13 versions. 3.12 is still used for some jobs as rollover is gardual. Also, the idea is to keep 3.12 around for some time in case some issues are discovered with 3.13. Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org> Change-Id: Ic77008d7640f2cf4cb50009c733a265a06613db0
Yet Another Docker Plugin (YADP) is extremely hard to manage, when running multiple slaves with multiple images. Due to the way Jenkins displays the configuration page. YADP provides a groovy script which builds a JSON array to populate the configuration in Jenkins.
This script uses YAML and Jinja2 to generate a java JSONARRAY to build the configuration, using a !include constructor in the YAML file, allowing the ability to template up docker_images, since many of our slaves run the same image, it lessens repetition.
####hosts
- host1: cloud_name: host1.example.org docker-url: tcp://0.0.0.0:2375 docker_templates: !include external_template_file.yml - host2: cloud_name: host2.example.org docker-url: tcp://0.0.0.1:2375 docker_templates: - xenial-amd64: docker_image_name: 'ubuntu:latest' max_instances: '1' labels: 'docker-ubuntu' launch_method: ssh ssh: launch_ssh_credentials_id: 'random-id' launch_ssh_port: '22' - host3 cloud_name: host3.example.org docker-url: tcp://0.0.0.0:2375 docker_templates: !include [external_template_file.yml, external_template_file_2.yml]
Due to the nature of YAML and populating the Java JSONARRAY, its important that YAML is phased correctly.
Most of the limitations surround docker_templates.
A list of limitations and pending improvements.
Example of broken approach:
Example of broken approach: