5

Недавно я начал использовать Codeship как инструмент CI/CD для небольшого веб-сайта, который я поддерживаю. Я создал свой проект Codeship для развертывания через sftp как described in their guide here.Непрерывное развертывание с Codeship не распознает переменные окружения

Часть, где она терпит неудачу, находится в производственном сценарии. Я создал deploy папку и production.sh скрипт, который содержит строку:

put -rp "${HOME}/clone/build/*" /path/to/remote/dir 

Однако при запуске сборки я получаю следующее сообщение об ошибке:

sftp> put -rp "${HOME}/clone/build/*" /path/to/remote/dir 
stat ${HOME}/clone/build/*: No such file or directory 

Вторя $HOME в тестовом сценарии непосредственно в Codeship дает мне мой домашний каталог, поэтому переменная среды работает. Однако в настоящий момент запускается командный скрипт, переменная среды не распознается.

Как это исправить? Я бы предпочел не жестко указывать путь в моем сценарии развертывания. Также не представляется возможным, что это происходит, потому что я суффикс production.sh, тогда как в документах у них есть только сценарий production?

+0

получил тот же вопрос - вы решить эту проблему? – markbarton

+0

Поддержка изучает это, они возвращаются ко мне – Lodybo

+0

Я рекомендую использовать rsync для развертывания производства. –

ответ

1

Не получив ответа от людей из Кодекса, я привел к написанию абсолютного пути к каталогу ${HOME}. Я делаю это какое-то время с несколькими различными проектами, и все это работает.

+0

Вы также можете принять свой собственный ответ. – peterh

+1

Вы правы, я просто принял это. – Lodybo

-1

заменить $ {HOME}/клон с ~/клон

это работало для меня

Смежные вопросы