Я использую команду синхронизации aws, чтобы jenkins отправлял файлы на s3. Проблема в том, что синхронизация aws снова отправляет тот же файл, даже если он имеет то же имя файла, что и в s3. Это потому, что перед отправкой на сервер s3 нам нужно выполнить tar, а затем распаковать файл, а tar и untar изменяют время модификации. Можно ли как-то более эффективно отправлять файлы на s3, чтобы один и тот же файл не отправлялся?
Отправка файлов с помощью aws sync
comment
Ваш сервер Jenkins находится на экземпляре ec2?
- person Koustav Ray   schedule 06.01.2017
Ответы (1)
Вы можете указать флаг --size-only
, чтобы размер каждого объекта был единственным критерием, используемым для принятия решения о синхронизации от источника к месту назначения. (документы)
person
Jordon Phillips
schedule
03.11.2015
Ключ является идентификатором объекта. Таким образом, при просмотре каждого ключа будет проверяться только размер объекта, а не какие-либо метаданные. Я отредактировал свой ответ, чтобы быть более ясным.
- person Jordon Phillips; 03.11.2015
это не сработает, потому что файл мог быть изменен и все еще иметь тот же размер.
- person Chris Scott; 03.11.2015
Тогда прямо сейчас в CLI нет хорошего решения. Проверка ETag не реализована, потому что мы не можем надежно вычислить ETag для файлов, загружаемых несколькими частями.
- person Jordon Phillips; 03.11.2015