Я работаю над настройкой скрипта в моем .gitlab-ci.yml
файл, чтобы я мог развернуть недавно созданный образ Docker на моем сервере.
Вот как это выглядит на данный момент:
- ssh deploy@my.private.vps '/bin/sh -c "cd /home/project/some/directory &&
export PATH=/bin:/usr/bin:/usr/local/bin && \
docker-compose stop web && \
docker-compose rm -f web && \
docker-compose up -d web && \
docker-compose exec web php artisan storage:link && \
exit"'
Однако я продолжаю получать сообщение «docker-compose: command not found» при запуске команды . Конечно, docker-compose устанавливается и доступен для пользователя "deploy", когда я вхожу в систему с пользователем.
Во время своих исследований я обнаружил, что это произошло из-за того, что SSH не загружает usr / local / bin
по умолчанию. Я попытался решить эту проблему, включив профиль пользователя в файле / etc / ssh / sshd_config
и экспортируя PATH при запуске скрипта.
Я работаю нет идей о том, что мне следует попробовать дальше.
Что мне делать?
Любая идея приветствуется
Используйте
which docker-compose
или
whereis docker-compose
, чтобы узнать, каков его абсолютный путь.
Убедитесь, что этот путь добавлен в ваш PATH env.
Вы также можете просто изменить свой docker-compose
на команды полного пути:
/ usr / local / bin / docker-compose stop web (. ..)