Может кто-нибудь посмотреть мой файл yaml для развертывания кода с использованием конвейеров Bitbucket?

#laravel #yaml #bitbucket #continuous-deployment #bitbucket-pipelines

#laravel #yaml #bitbucket #непрерывное развертывание #bitbucket-конвейеры

Вопрос:

Это моя первая попытка настроить конвейеры или даже использовать любой инструмент CI / CD. Итак, прочитав документацию в Bitbucket, я добавил файл bitbucket-pipelines.yml в корень моего приложения Laravel для сборки. Вот файл.

 image: php:7.4-fpm

pipelines:
  default:
    - step:
        name: Build and test
        caches:
          - composer
        script:
          - apt-get update amp;amp; apt-get install -qy git curl libmcrypt-dev mariadb-client ghostscript
          - yes | pecl install mcrypt-1.0.3
          - docker-php-ext-install pdo_mysql bcmath exif
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --file           name=composer
          - composer install
          - ln -f -s .env.pipelines .env
          - php artisan migrate
          - ./vendor/bin/phpunit
        services:
          - mysql
          - redis
definitions:
  services:
    mysql:
      image: mysql:5.7
      environment:
        MYSQL_DATABASE: "laravel-pipeline"
        MYSQL_RANDOM_ROOT_PASSWORD: "yes"
        MYSQL_USER: "homestead"
        MYSQL_PASSWORD: "secret"
    redis:
      image: redis   
  

Вышеуказанное отлично работает при создании приложения, выполнении тестов и т. Д. Но когда я добавляю нижеприведенное для развертывания, используя канал scp, я получаю уведомление о том, что либо мне нужно включить изображение, либо иногда в уведомлении говорится, что в записи сопоставления есть неправильный отступ.

 - step:
      name: Deploy to test
      deployment: test
      # trigger: manual  # Uncomment to make this a manual deployment.
    script:
      - pipe: atlassian/scp-deploy:0.3.13
        variables:
          USER: '${remoteUser}'
          SERVER: '${server}'
          REMOTE_PATH: '${remote}'
          LOCAL_PATH: '${BITBUCKET_CLONE_DIR}/*'
  

Я действительно не знаю yaml, и я впервые работаю с инструментом CI / CD, поэтому я потерялся. Может кто-нибудь подсказать мне, что я делаю неправильно?

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

1. Установлены ли такие переменные, как ‘${server}’, в вашем bitbucket?

2. Да, я установил их внутри интерфейса конвейеров.

Ответ №1:

Ваш отступ для имени и развертывания не такой, как для скрипта. Попробуйте поместить все это в один и тот же отступ, подобный этому.

 - step:
    name: Deploy to test
    deployment: test
    script:
      - pipe: atlassian/scp-deploy:0.3.13
        variables:
          USER: '${remoteUser}'
          SERVER: '${server}'
          REMOTE_PATH: '${remote}'
          LOCAL_PATH: '${BITBUCKET_CLONE_DIR}/*'
  

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

1. Похоже, это была проблема. Это и мне пришлось переместить раздел определений ниже шага развертывания… По крайней мере, скрипт запускается сейчас. Все еще сбой, но, похоже, проблема с разрешениями для моего пользователя ssh. Большое спасибо @Duje Basic