Как добавить время ожидания перед выполнением шага в Bitbucket Pipeline - PullRequest
0 голосов
/ 21 мая 2019

У меня есть конвейер Bitbucket, где он создает ресурсы AWS с использованием облачной информации и развертывает на нем веб-сайт. Но развертывание терпит неудачу, даже облачная информация создает стек правильно. Я думаю, что проблема в том, когда происходит развертывание облачной информации. Создание корзины S3, возможно, еще не завершено.

У меня есть веб-сайт Hugo, и я создал конвейер битовых пакетов для развертывания его на сервере. Он создает корзину S3, используя облачную информацию для размещения веб-сайта, а затем загружает на него веб-сайт Hugo. Когда я запускал шаги в конвейере вручную в терминале с задержкой между каждым шагом, это происходило успешно. Но когда это происходит на конвейере Bitbucket, он выдавал ошибку, говоря, что корзина S3, которую я пытаюсь загрузить, недоступна. Когда я проверил в AWS, это ведро фактически там. Это означает, что Cloudformation работал правильно. Но когда файлы начинают копироваться, корзина может быть недоступна для загрузки файла. Это мое предположение. Есть ли обходной путь для этого. Делая это локально, я могу ждать между двумя командами создания облачной информации и копирования файлов. Но как справиться с этим в среде конвейера Bitbucket. Ниже приведен мой код конвейера.

pipelines:
  pull-requests:
    '**':
      - step:
          script:
            - aws cloudformation create-stack --stack-name demo-web --template-body file://cloudformation.json --parameters ParameterKey=S3BucketName,ParameterValue=demo-web
            - hugo
            - aws s3 cp public/ s3://demo-web/ --recursive

Как правильно обращаться с этим сценарием. Есть ли обходной путь для этой ситуации. Или проблема, которую я обнаружил, не является реальной проблемой.

1 Ответ

1 голос
/ 22 мая 2019

Во-первых, для ожидания в конвейерах битовой памяти вы должны просто использовать sleep x, где x - это количество секунд, которое вы хотите спать.

Другое примечание - имейте в виду, что после первого последующего запуска это развертывание может произойти сбой в следующий раз, когда вы используете create-stack, который завершится неудачей, если стек уже существует ...

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