Как использовать gem всякий раз в облаке Google? - PullRequest
0 голосов
/ 27 июня 2018

У меня проблема с запуском гемы при работе на gcloud.

точнее, при выполнении команды whenever --update-crontab

но я также не уверен, установлен ли cron, и я не понимаю, как это проверить. Может кто сталкивался?

Я использую Gitlab CI для развертывания. И этот gitlab-ci.yml

image: registry.gitlab.com/varuno/photo-booth-admin

stages:
  - deploy

before_script:
  - export PATH="/google-cloud-sdk/bin:$PATH"

deploy:
  stage: deploy
  environment: production
  only:
    - master
  script:
    - bundle install
    - cp ./config/database.sample.yml ./config/database.yml
    - echo $MASTER_KEY > ./config/master.key
    - echo $DEPLOY_KEY_FILE > ./config/google-key.json
    - gcloud auth activate-service-account --key-file ./config/google-key.json
    - gcloud config set project $PROJECT_ID_PRODUCTION
    - gcloud info
    - gcloud app deploy --quiet --stop-previous-version --promote --version=photo-booth
    - gcloud projects add-iam-policy-binding photo-booth-201515 --member=serviceAccount:22202411108@cloudbuild.gserviceaccount.com --role=roles/editor
    - bundle exec rake appengine:exec -- bundle exec rake db:migrate
    # - bundle exec rake appengine:exec -- bundle exec rake db:seed

1 Ответ

0 голосов
/ 28 июня 2018

Я не думаю, что вы можете использовать гем whenever в GAE, поскольку GAE не использует сервис * nix style cron.

Служба cron GAE на самом деле является генератором GET запросов на определенные настроенные URL-адреса в соответствии с настроенным расписанием. Ваши обработчики приложений для этих URL-адресов являются теми, которые фактически выполняют задания. См. Планирование заданий с помощью cron.yaml

.

Чтобы использовать службу GAE cron, вам нужно создать 1011 * файл конфигурации внутри вашего приложения и развернуть его в GAE. Конечно, код вашего приложения должен включать соответствующие обработчики URL.

Чтобы развернуть файл cron.yaml из вашей системы CI, вам нужно добавить эту команду в gitlab-ci.yml, вероятно, сразу после существующей команды gcloud app deploy ... (см. Загрузка заданий cron ):

gcloud app deploy cron.yaml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...