Как я могу использовать shutil.make_archive () для создания zip -файлов, которые абсолютно идентичны, включая хэш? Через CI/CD, и я ожидаю, что они будут идентичны, но хэши различаются. Это заставляет CI/CD думать, что файлы различны, и он пытается обновление, которое нежелательно, поскольку это приведет к тому, что обновление будет сделано из каждого случая, даже если не было внесено никаких изменений.
Были приняты следующие меры предосторожности, чтобы гарантировать, что пакеты на молнии идентичны, однако я явно что -то упускаю. Сначала удаляется, чтобы обеспечить каталог чистых пакетов.
[*] Пакеты устанавливаются пользователем root.
Все __pycache __ каталоги удаляются . < /li>
Последнее доступное и измененное время каждого файла изменяется, чтобы убедиться, что они совпадают. < /li>
< /ul>
Есть что -то Больше (или другого) я могу сделать, чтобы убедиться, что хэши файлов zip всегда будут одинаковыми, учитывая, что содержимое точно такое же? Хэш ZIP -файла, используя FileBase64SHA256 ("packages.zip") . Я не верю, что это имеет значение, но в любом случае подумал, что это стоит упомянуть.#!/bin/bash
REQUIREMENTS_FILE="requirements.txt"
REQUIREMENTS_DIR="packages/"
REQUIREMENTS_ZIP="packages.zip"
rm -rf $REQUIREMENTS_DIR
pip install --upgrade --force-reinstall --no-cache-dir -r $REQUIREMENTS_FILE -t $REQUIREMENTS_DIR
find $REQUIREMENTS_DIR | grep -E "(__pycache__|\.pyc$)" | xargs rm -rf
find $REQUIREMENTS_DIR -exec touch -t 200010101010 {} +
python -c "import shutil; shutil.make_archive('${REQUIREMENTS_ZIP:0:-4}', 'zip', '$REQUIREMENTS_DIR')"
Подробнее здесь: https://stackoverflow.com/questions/793 ... eated-duri
Как обеспечить, чтобы хэш Zip -файла, созданный локально, идентичен при создании во время CI/CD, используя точно такое ж ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Android реализует объекты Parcelable с хэш-картой, которая содержит другую хэш-карту
Anonymous » » в форуме Android - 0 Ответы
- 128 Просмотры
-
Последнее сообщение Anonymous
-