我正在学习持续部署程序。我有一个手动将ReactJS应用程序部署到Digital Ocean提供的Ubuntu服务器的过程。我遵循的手动部署过程涉及以下步骤:
1)SSH进入Ubuntu服务器。
2)然后git将Github存储库克隆到ubuntu服务器上的以下目录:/ var / www /,其中包含Frontend React项目。
3)转到目录(/ var / www / FEBookingAndCollections)并键入npm install,然后键入npm run build。这将创建构建目录(/ var / www / FEBookingAndCollections / build)。我使用Nginx作为Web服务器,已将Web文档根目录配置为在以下路径/ var / www / FEBookingAndCollections / build
中提供内容4)检查网站是否在线。
我想使用CircleCI和Github自动化此过程。在我的ReactJS应用程序项目中,尤其是我的.circleci / config.yml。我有以下内容:
deploy:
machine:
enabled: true
steps:
- add_ssh_keys:
fingerprints:
- "16:a3:20:18:79 ..."
- run:
name: Deploy Over SSH
command: |
ssh -v root@46.121.314.160 "/var/local/deployScripts/./deployFe.sh"
关于正在发生的事情,我想知道我应该写什么内容以便使1-3中的步骤自动化,以便有人自动进行1-3的步骤。有没有人写过部署Shell脚本并且可以提供建议?我是这个领域的新手
答案 0 :(得分:0)
这是Docker的绝佳用例。比您目前尝试的方式容易得多。
以最简单的形式,deployFe.sh
应该包含您通常手动键入以完成步骤1-3的确切Shell命令。 Shell脚本可以自动将您通常在终端上执行的操作自动化。