Получение развертывания кода для работы в цифровом океане - PullRequest
0 голосов
/ 29 сентября 2018

О боже, почему это так сложно?Сейчас я потратил 3 дня, пытаясь заставить работать эту, казалось бы, простую хрень.

Мне нужно: - установить npm на CI-сервер (работает) - запустить тесты (работает) - построить угловой интерфейс (работает)- отправить код на сервер через rsync (работает) - ssh на сервер (работает) - - и установить npm (не работает. Умирает из-за предупреждений npm, я думаю) - - перезапустить процесс pm2 (не работает, так как нетэлегантный способ сказать запуск или перезапуск)

На этапе развертывания у меня есть этот скрипт в интерфейсе UI

rsync -avz --exclude 'node_modules' ~/clone/
root@xxx.xxx.xxx.xxx:/root/my-project/
ssh root@xxx.xxx.xxx.xxx cd /root/my-project && bash ./postDeploy.sh

Тогда скрипт postDeploy.sh выглядит так:

#!/bin/sh
export PATH=$PATH:/usr/local/bin
npm install --silent &> /dev/null
/usr/local/bin/pm2 stop --silent keystone &> /dev/null
/usr/local/bin/pm2 start keystone.js 2> /dev/null

Я пытаюсь проглотить ошибки с помощью этого трюка.&> /dev/null

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

Тогда есть вещь PM2, которая немного раздражает.Мне нужно выполнить команду остановки, но если служба не работает, она не будет работать, поэтому мне снова нужно проглотить ошибки.Команда запуска, вероятно, в порядке.

Я думаю, что, может быть, сейчас происходит то, что, поскольку я проглатываю все программы выполнения сценариев выходного кода, допускает сбой?

Я пытался использовать инструмент для полуготовой отладки, но он волшебным образом спрашивает у меня пароль, когда я пытаюсь войти в систему ... А?

Также @codeship было бы удивительно, если бы 80% полезных статей, проиндексированных Google, не приводили к мертвым страницам на вашем сайте ...

1 Ответ

0 голосов
/ 02 октября 2018

Я пытался использовать инструмент для полуготовой отладки, но он волшебным образом запрашивает пароль, когда я пытаюсь войти в систему ... Эх?

Я бы сказал,это был правильный инстинкт.Существует слишком много возможных сценариев того, почему вы сталкиваетесь с этими непреднамеренными действиями, и ничто, кроме запуска сборки вживую с помощью сеанса отладки ssh, скорее всего, не достигнет сути.

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

Если сеанс отладки ssh не решает вашу ситуацию, обратитесь к нам по адресу support@codeship.com с вашим URL-адресом сборки, и мыпознакомлюсь.

...