目前,我正在部署我的 Angular 7 项目,方法是使用 FileZilla 将本地文件从 ./dist 文件夹迁移到服务器 public_HTMl。这是一项日常工作,所以我想将代码直接部署到服务器,当我点击 ng build --prod 时,这些编译文件必须直接迁移到服务器。这里有人可以帮我解决这个问题吗?
为了摆脱这个问题,我尝试了很多步骤:
我使用 bitbucket 管道来执行我的代码,它的成本很高,而且我也无法运行它,花了几个小时,但无法为我提供输出。
我还尝试使用新的 Git 存储库,即使这是一个好方法,但无法给我解决方案,因为当我在本地部署代码时,每次执行命令时它都会创建一个新文件夹。
因此,我想获得帮助并将此代码直接部署到将托管我的应用程序的服务器。谢谢大家,希望大家就这个问题给我提供好的建议。
最佳答案
你可以用简单的方法做到这一点。创建基本的 bash/sh 脚本或 Windows 可执行文件并使用 rsync 自动执行此操作:
deploy.sh:
#!/bin/bash
ng build --prod
rsync -arvt ./dist remoteuser@remotehost:/var/www/remotedirectory
为了避免每次都输入登录名和密码,将RSA公钥添加到您的远程计算机(受信任的主机)。您可以将此解决方案与 Bitbucket pipelines 结合使用,当免费计划结束时,我从我的开发人员机器上手动运行此脚本。
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
您可以使用一些更复杂的解决方案,例如Capistrano,而不是简单的脚本。 , Shipit或其他一些更高级的工具。一切都取决于您的需求...
最简单的解决方案总是最好的:)
关于javascript - 如何将 Angular 7 项目直接部署到我的网络服务器,以便我不应该在部署后始终迁移我的 dist 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56320961/