0

我正在学习持续部署过程。我有一个手动将 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"

就正在发生的事情而言,我想知道我应该在 deployFE.sh 文件中写入什么,以便自动执行 1 到 3 的步骤。以前有没有人编写过部署 shell 脚本并且能够提供建议?我是这个领域的新手

4

1 回答 1

0
  1. 这是 Docker 的一个很好的用例。比您目前尝试的方式要容易得多。

  2. 在最简单的形式中,deployFe.sh应该包含您通常手动键入的确切 shell 命令,以完成步骤 1-3。shell 脚本只是自动执行您通常自己在终端上执行的操作。

于 2018-10-22T15:26:55.800 回答