В настоящее время я развертываю свой проект Angular 7, используя FileZilla для переноса моих локальных файлов из папки ./dist на сервер public_HTML. Это довольно сложная работа, которую нужно выполнять ежедневно, поэтому я хочу развернуть свой код непосредственно на сервере, когда я нажму ng build --prod, тогда эти скомпилированные файлы должны быть перенесены непосредственно на сервер. Кто-нибудь здесь, кто может помочь мне решить эту проблему?
Чтобы избавиться от этой проблемы, я пробовал много шагов:
Я использовал конвейеры битбакета для выполнения своего кода, это стало дорого, и я не могу его запустить. Это заняло несколько часов, но не может дать результат для меня.
Я также пытался использовать новый репозиторий Git, даже если это хороший способ, но не могу дать мне решение, потому что, когда я развертываю свой код локально, он создает новую папку каждый раз, когда я выполняю команду.
Итак, я хочу получить помощь и развернуть этот код непосредственно на сервере, на котором будет размещено мое приложение. Спасибо всем и надеюсь, что вы дадите мне хорошие советы по этой проблеме.
Да, ты правда
Вы можете сделать это простым способом. Создайте базовый скрипт bash/sh
или windows executable
и используйте rsync, чтобы сделать это автоматически:
развернуть.ш:
#!/bin/bash
ng build --prod
rsync -arvt ./dist remoteuser@remotehost:/var/www/remotedirectory
Чтобы каждый раз не вводить логин и пароль, добавьте Открытый ключ RSA на вашу удаленную машину (доверенный хост). Вы можете комбинировать это решение с Bitbucket pipelines
, когда бесплатный план заканчивается, я запускаю этот скрипт вручную с моей машины разработчика.
битбакет-трубопроводы.yml:
image: mycustomimage:latest
pipelines:
default:
- step:
name: Build and deploy to production
caches:
- node
deployment: production
script:
- npm install
- npm install -g @angular/cli
- ng config -g cli.warnings.versionMismatch false
- ./deploy.sh
Вместо простого скрипта вы можете использовать более сложное решение, такое как Капистрано, Отправим его или другой более продвинутый инструмент. Все зависит от ваших потребностей...
Самое простое решение всегда самое лучшее :)
Означает ли это, что вы используете FTP для отправки файлов на сервер?