В настоящее время мое развертывание выглядит следующим образом:
После внесения локальных изменений я запускаю локально задачу grunt, чтобы собрать проект в папку
/dist
.Затем я нажимаю их на битбакет. например название ветки feature/deposit
В Bitbucket я объединяю функцию/депозит в ветку разработки, а Codeship создает ветку разработки (запускает тест), после чего выполняется следующий код:
ssh [email protected] 'cd project/www; разработка git checkout; разработка git pull origin; установка нпм; sudo monit перезапустить проект.app.js '
Мне не нравится такой подход, потому что для меня было бы гораздо логичнее развертывать то, что создал Codeship. Codeship запускает npm install
, и я хочу, чтобы он запускал мою задачу grunt:build
, а затем развертывал ее на моем рабочем сервере.
Я нашел статья, посвященная аналогичной проблеме, и добавлена задача экспорта CI_COMMIT_ID=$(git rev-parse HEAD). Но я просто не до конца осознаю, что мне нужно сделать с этим в моем сценарии развертывания. Кроме того, этот пример используется с героку, тогда как в моем случае я использую собственный сценарий развертывания.
Я также нашел репозиторий github с полезными скриптами развертывания и этот может удовлетворить мои потребности.
Но я хочу выяснить, могу ли я извлечь из встроенной версии (той, которую создал Codeship) так же, как я делаю это сейчас, но git pull origin develop
должно быть git pull
из того, что только что создал Codeship.
grunt
), запустит ваши тесты, а затем развернет приложение, например, черезrsync
или отправив его в Heroku/.... - person mlocher   schedule 02.05.2016dist
из репозитория, собрать ее через Codeship и развернуть, скопировав файлы на удаленный сервер. Таким образом, у вас есть множество возможностей, от очень простых инструментов, таких какscp
,rsync
(хотя базовый здесь является переменным термином) до Capistrano (на основе Ruby) или npmjs.com/package/flightplan (хотя я еще не использовал это). - person mlocher   schedule 02.05.2016grunt
создает каталогdist
, вы можете загрузить его черезscp -rp ./dist/* [email protected]:/path/on/server/
. - person mlocher   schedule 02.05.2016