Сортировать список фото ansible - PullRequest
0 голосов
/ 07 февраля 2020

Я получаю этот список от AWS cli, используя ansible:

[
                {
                    "imageDigest": "sha256:3812b52ba33f856f2fac9c889d89694d9961e1",
                    "imageTag": "1.4.9"
                },
                {
                    "imageDigest": "sha256:14c6ab4df3bcce714551a3e713df57cfa6611",
                    "imageTag": "1.3.4.7"
                },
                {
                    "imageDigest": "sha256:d095780c37b7ac74df3b5e36aad5beac0f9aa6"
                },
                {
                    "imageDigest": "sha256:c8ab91714372be905bff99d3df4315392a5a4ee",
                    "imageTag": "1.7.8"
                },
                {
                    "imageDigest": "sha256:5efb121b299c166677f53b30b60a50c3d8187d9",
                    "imageTag": "0.0.8"
                },
                {
                    "imageDigest": "sha256:778db52e40a1a6cd32ea297b2b7d6b24bd3bd5f7",
                    "imageTag": "1.3.9.1"
                } 
]

И я хочу извлечь только тег с самым высоким изображением, чтобы построить следующее изображение (некоторые кадры не имеют этого ключа) .

Может ли кто-нибудь мне помочь?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020

Спасибо за ваши ответы. Я нашел то, что IMO более понятен, чем использование j2.

- name: List ecr {{ SERVER }} images    
    command: 'aws ecr list-images --repository-name {{ SERVER }}'    
  changed_when: false   
  register: images

- name: Create a list
  set_fact:        
    versions: []

- name: Get the list from AWS 
  set_fact: 
    imgs: '{{ (images.stdout | from_json).imageIds }}'

- name: Add all the versions to the list
  set_fact:
    versions: "{{ versions + [item.imageTag] }}"
  loop: '{{ imgs }}'
  when: item.imageTag is defined

- name: Sort the versions
  set_fact:
    version: '{{ versions | sort }}'

- debug: Extract the last version
    msg: '{{ version[-1] }}'
0 голосов
/ 07 февраля 2020

Вы ищете version тест , и затем вы можете использовать его для склеивания "сортировки по версии", похожей на связанный вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...