Как запустить конвейер bitbucket для развертывания приложения на основе php на nanobox - PullRequest
1 голос
/ 10 октября 2019

Я пытаюсь настроить конвейер bitbucket для приложения на основе php (Laravel-Lumen), предназначенного для развертывания на nanobox.io. Я хочу, чтобы этот конвейер развернул мое приложение, как только изменения кода будут зафиксированы.

Мой bitbucket-pipelines.yml выглядит следующим образом

image: php:7.1.29

pipelines:
  branches:
    staging:
    - step:
        name: Publish to staging version
        deployment: staging
        caches:
          - composer
        script:
          - apt-get update && apt-get install -y unzip
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
          - composer install
#          - vendor/bin/phpunit
          - bash -c "$(curl -fsSL https://s3.amazonaws.com/tools.nanobox.io/bootstrap/ci.sh)"
          - nanobox deploy

Это приводит к следующей ошибке

+ nanobox deploy
Failed to validate provider - missing docker - exec: "docker": executable file not found in $PATH
Using nanobox with native requires tools that appear to not be available on your system.
docker
View these requirements at docs.nanobox.io/install

Затем я последовал за этой страницей и изменил вторую последнюю строку, чтобы она выглядела так

sudo bash -c "$(curl -fsSL https://s3.amazonaws.com/tools.nanobox.io/bootstrap/ci.sh)"

когда я это сделаю, я получаю следующую ошибку

+ sudo bash -c "$(curl -fsSL https://s3.amazonaws.com/tools.nanobox.io/bootstrap/ci.sh)"
bash: sudo: command not found

У меня закончились хитрости, и у меня нет опыта в этой области. Любая помощь очень ценится.

1 Ответ

0 голосов
/ 10 октября 2019

Во-первых, вы не можете использовать sudo в конвейерах, но это, вероятно, здесь не актуально. Проблема в том, что Nanobox Cli не будет запускать Docker, который не установлен. Для вашего шага вы должны активировать сервис Docker.

image: php:7.1.29

pipelines:
  branches:
    staging:
      - step:
          name: Publish to staging version
          deployment: staging

          # Enable docker service
          services:
            - docker
          caches:
            - composer
          script:
            - docker version

Возможно, вы также не захотите просматривать документы Pipelines: Запуск команд Docker в Bitbucket Pipelines

...