Add compress capabilities to stage artifacts
Compress files and files in folders. Use gz by default. Change-Id: I72796e64a65fe88d85168734ac881ee3ec2ce100
This commit is contained in:
parent
d0851b0b4a
commit
2ea8661801
@ -47,3 +47,8 @@ intended to be used before output fetching in a base job's post-playbook.
|
|||||||
- log
|
- log
|
||||||
|
|
||||||
zuul.conf --(staged as)--> zuul_conf.txt
|
zuul.conf --(staged as)--> zuul_conf.txt
|
||||||
|
|
||||||
|
.. zuul:rolevar:: stage_compress_logs
|
||||||
|
:default: True
|
||||||
|
|
||||||
|
When True, files staged as logs will be compressed individually.
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
stage_dir: "{{ ansible_user_dir }}"
|
stage_dir: "{{ ansible_user_dir }}"
|
||||||
extensions_to_txt:
|
extensions_to_txt:
|
||||||
|
stage_compress_logs: true
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
source: "{{ item.stat.path }}"
|
source: "{{ item.stat.path }}"
|
||||||
dest: "{{ item.item.value }}/{{ item.stat.path|basename|regex_replace('\\.(' + extensions_regex + ')$', '_\\1.txt') }}"
|
dest: "{{ item.item.value }}/{{ item.stat.path|basename|regex_replace('\\.(' + extensions_regex + ')$', '_\\1.txt') }}"
|
||||||
|
type: "{{ item.item.value }}"
|
||||||
with_items: "{{ sources.results }}"
|
with_items: "{{ sources.results }}"
|
||||||
when:
|
when:
|
||||||
- item.stat.exists
|
- item.stat.exists
|
||||||
@ -45,3 +46,17 @@
|
|||||||
# zuul, using command
|
# zuul, using command
|
||||||
command: cp -pR {{ item.source}} {{ stage_dir }}/{{ item.dest }}
|
command: cp -pR {{ item.source}} {{ stage_dir }}/{{ item.dest }}
|
||||||
with_items: "{{ all_sources }}"
|
with_items: "{{ all_sources }}"
|
||||||
|
|
||||||
|
# NOTE(andreaf) The ansible module does not support recursive archive, so
|
||||||
|
# using gzip is the only option here. The good bit is that gzip itself is
|
||||||
|
# almost idempotent, as it will not compress again files with .gz extension.
|
||||||
|
# gzip will however return 1 if any compressed file is encountered, so we
|
||||||
|
# must ignore that (there's no specific error code).
|
||||||
|
- name: Archive everything from docs sources
|
||||||
|
shell: gzip --recursive --best {{ item.dest }} || true
|
||||||
|
args:
|
||||||
|
chdir: "{{ stage_dir }}"
|
||||||
|
with_items: "{{ all_sources }}"
|
||||||
|
when:
|
||||||
|
- stage_compress_logs
|
||||||
|
- item.type == 'logs'
|
||||||
|
Loading…
Reference in New Issue
Block a user