То, что у меня было неправильно, которое я выяснил примерно через 5 минут после отправки награды, было разницей в моих build
и deploy
шагах.
Неправильно
jobs:
build:
docker:
- image: circleci/php:7.1-node-browsers
...
deploy:
machine:
enabled: true
Правильно
jobs:
build:
docker:
- image: circleci/php:7.1-node-browsers
...
deploy:
docker:
- image: circleci/php:7.1-node-browsers
FINAL В результате я получил супер простую сборку и развертывание через rsync.
Я фактически полностью удалил «рабочий процесс» с отдельными разделами сборки и развертывания - для меня это было бесполезно.Я мог сделать все на этапе сборки.
Это очень простая установка, которая просто проверяет репозиторий, устанавливает требования композитора, а затем передает все на сторонний сервер (в моем случае, MediaTemple)по rsync.
Единственным другим шагом было создание и установка ключа SSH в проект CircleCI (для этого есть много учебников).
# PHP CircleCI 2.0 configuration file
#
version: 2
jobs:
build:
docker:
- image: circleci/php:7.1-node-browsers
working_directory: ~/beta
steps:
- checkout
- run: php composer.phar install
- run: pwd
- deploy:
name: Deploy Over SSH
command: rsync -e "ssh -o StrictHostKeyChecking=no" -arvc --exclude .git ~/beta/ myuser@mysite.org:~/domains/mysite.org/html/beta