Получение развертывания кодовых кораблей в цифровом океане работает

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

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

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

rsync -avz --exclude 'node_modules' ~/clone/
[email protected]:/root/my-project/
ssh [email protected] 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, не приводили к мертвым страницам на вашем сайте ...


person Askdesigners    schedule 29.09.2018    source источник


Ответы (1)


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

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

См. Раздел нашей документации для устранения неполадок с запросами пароля для сеансов отладки ssh.

Если сеанс отладки ssh не решает вашу проблему, напишите нам по адресу [email protected], указав URL-адрес сборки, и мы рассмотрим подробнее.

person Drew Kitch    schedule 01.10.2018