3232 cmd : " docker push {{ image_name }}"
3333 when : build_result.rc == 0
3434
35- # - name: Get existing lifecycle policy JSON for {{ service_id }}_{{ item }}
36- # ansible.builtin.command: >
37- # {{ aws_cmd }} ecr get-lifecycle-policy
38- # --repository-name {{ service_id }}_{{ item }}
39- # --query 'lifecyclePolicyText'
40- # --output text
41- # register: existing_policy
42- # failed_when: false
43- # changed_when: false
44-
45- # - name: Read lifecycle policy from the local file
46- # ansible.builtin.slurp:
47- # src: "{{ role_path }}/files/ecr_lifecycle.json"
48- # register: desired_policy_raw
49-
50- # - name: Decode lifecycle policy file
51- # set_fact:
52- # desired_policy: "{{ desired_policy_raw.content | b64decode }}"
53-
54- # - name: Apply lifecycle policy to ecr {{ service_id }}_{{ item }} if different
55- # ansible.builtin.command: >
56- # {{ aws_cmd }} ecr put-lifecycle-policy
57- # --repository-name {{ service_id }}_{{ item }}
58- # --lifecycle-policy-text file://{{ role_path }}/files/ecr_lifecycle.json
59- # when: existing_policy.stdout != desired_policy and build_result.rc == 0
35+ - name : Get existing lifecycle policy JSON for {{ service_id }}_{{ item }}
36+ ansible.builtin.command : >
37+ {{ aws_cmd }} ecr get-lifecycle-policy
38+ --repository-name {{ service_id }}_{{ item }}
39+ --query 'lifecyclePolicyText'
40+ --output text
41+ register : existing_policy_raw
42+ failed_when : false
43+ changed_when : false
44+
45+ - name : Parse existing lifecycle policy JSON
46+ set_fact :
47+ existing_policy_json : " {{ existing_policy_raw.stdout | default('{}') | from_json }}"
48+ when : existing_policy_raw.stdout != ""
49+
50+ - name : Read lifecycle policy from the local file
51+ ansible.builtin.slurp :
52+ src : " {{ role_path }}/files/ecr_lifecycle.json"
53+ register : desired_policy_raw
54+
55+ - name : Decode lifecycle policy file
56+ set_fact :
57+ desired_policy_json : " {{ desired_policy_raw.content | b64decode | from_json }}"
58+
59+ - name : Apply lifecycle policy to ecr {{ service_id }}_{{ item }} if different
60+ ansible.builtin.command : >
61+ {{ aws_cmd }} ecr put-lifecycle-policy
62+ --repository-name {{ service_id }}_{{ item }}
63+ --lifecycle-policy-text file://{{ playbook_dir }}/../../common/a-management-utils-3/ecr-lifecycle/ecr_lifecycle.json
64+ when :
65+ - existing_policy_json != desired_policy_json
66+ - env != "prod" or prod_lifecycle_update_allowed
0 commit comments