Как я могу очистить корзину Google Cloud Storage (GCS) перед развертыванием travis

#google-cloud-platform #yaml #google-cloud-storage #travis-ci

#google-облачная платформа #ямл #google-облачное хранилище #travis-ci #yaml

Вопрос:

Это мой .travis.yml :

 language: node_js
node_js:
  - "node"

cache: npm
script: npm run build

deploy:
  provider: gcs
  access_key_id: $ACCESS_KEY_ID
  secret_access_key: $SECRET_ACCESS_KEY
  bucket: $BUCKET_NAME
  skip_cleanup: true
  local_dir: dist
  cache_control: "no-cache,max-age=0"
  on:
    branch: master
  

Я запускаю проект vue и создаю файлы с хэшированными именами файлов.
Таким образом, каждый раз, когда я развертывал, новые файлы, такие как app.56785678.js , были развернуты в моей корзине.
Но предыдущая версия (например app.12341234.js ) все еще находится в корзине gcs, которую следует удалить.
Есть ли какой-нибудь способ очистить все ведро перед развертыванием?

Ответ №1:

В этом случае при развертывании в папку dist в документации говорится, что она будет очищена, если skip_cleanup значение не соответствует true, что является вашим случаем. Пожалуйста, попробуйте:

 # ...
deploy:
  # ...
  skip_cleanup: false
  

Комментарии:

1. У меня это не работает:(, если я установлю skip_cleanup значение false, развертывание завершится неудачно. Мне интересно, должен ли я где-нибудь запустить gsutil rm команду…

2. Можете ли вы указать, как происходит сбой?

3. извините за поздний ответ, мой travis не удался при развертывании, и это ошибка. /home/travis/.rvm/gems/ruby-2.4.5/gems/dpl-gcs-1.10.15/lib/dpl/provider/gcs.rb:30:in `chdir': No such file or directory @ dir_chdir - dist (Errno::ENOENT)

4. Я думаю, что мне всегда следует устанавливать skip_cleanup значение true, если я собираюсь развернуть dist папку