Развертывание BitBucket с использованием ключей SSH на удаленном сервере - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь написать сценарий конвейера YAML для развертывания файлов, которые были изменены из моего репозитория bitbucket, на мой удаленный сервер с использованием ключей ssh.Документ, который у меня есть на данный момент, был скопирован из самого Bitbucket и содержит ошибки:

pipelines:
  default:
  - step:
      name: Deploy to test
      deployment: test
      script:
      - pipe: atlassian/sftp-deploy:0.3.1
      - variables:
         USER: $USER
         SERVER: $SERVER
         REMOTE_PATH: $REMOTE_PATH
         LOCAL_PATH: $LOCAL_PATH

Я получаю следующую ошибку

Ошибка конфигурации
Естьошибка в вашем bitbucket-pipelines.yml в [pipelines> default> 0> step> script> 1].Чтобы быть точным: отсутствует или пустая строка команды.Каждый элемент в этом списке должен быть либо отдельной командной строкой, либо картой, определяющей вызов канала.

Мой открытый и закрытый ключи ssh устанавливаются в bitbucket вместе с отпечатком и хостом.Переменные также были настроены.
Как мне настроить скрипт развертывания YAML для подключения к удаленному серверу через ssh и передачи файлов?

Ответы [ 2 ]

0 голосов
/ 23 июня 2019

Ваша директива - шаг должен быть предназначен.
У меня есть bitbucket-pipelines.yml, подобный этому (использующий rsync вместо ssh):

# This is a sample build configuration for PHP.
# Check our guides at https://confluence.atlassian.com/x/e8YWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: php:7.2.1-fpm

pipelines:
  default:
    - step:
        script:
          - apt-get update 
          - apt-get install zip -y
          - apt-get install unzip -y
          - apt-get install libgmp3-dev -y
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
          - composer install
          - cp .env.example .env
          #- vendor/bin/phpunit 
          - pipe: atlassian/rsync-deploy:0.2.0
            variables:
                USER: $DEPLOY_USER
                SERVER: $DEPLOY_SERVER
                REMOTE_PATH: $DEPLOY_PATH
                LOCAL_PATH: '.'

Я предлагаюиспользуйте их онлайн-редактор в репозитории для редактирования bitbucket-pipelines.yml , он проверяет всю формальную структуру yml, и вы не можете зафиксировать неверный файл.
Даже если вы проверяете файл в каком-то другом редакторе yaml, онможет выглядеть хорошо, но не обязательно в соответствии со спецификацией bitbucket.Их онлайн-редактор отлично справляется со своей работой.

Кроме того, я предлагаю посетить их сообщество по атласскому сообществу , поскольку оно очень активно, иногда их сотрудники дают ответы.

ОднакоЯ борюсь с множеством зависимостей, необходимых для правильного выполнения тестов.(фактический bitbucket-pipelines.yml становится все больше и больше).
Может быть, есть какой-то хорошо подготовленный образ Docker для этой работы.

0 голосов
/ 03 июня 2019

Попробуйте обновить variables раздел:

      - variables:
         - USER: $USER
         - SERVER: $SERVER
         - REMOTE_PATH: $REMOTE_PATH
         - LOCAL_PATH: $LOCAL_PATH

Вот пример того, как установить variables: https://confluence.atlassian.com/bitbucket/configure-bitbucket-pipelines-yml-792298910.html#Configurebitbucket-pipelines.yml-ci_variablesvariables

...