首页
/ fjpublish 项目使用教程

fjpublish 项目使用教程

2024-09-13 18:03:42作者:戚魁泉Nursing

1. 项目介绍

fjpublish 是一个简单的命令行工具,旨在通过配置文件自动化发布项目到各个环境。它基于 Node.js 开发,提供了一种可靠且舒适的发布项目体验。fjpublish 不仅支持丰富的 API 和完善的可扩展能力,还允许开发者轻松定制项目发布流程。

主要功能

  • 自动化发布:通过配置文件自动完成项目发布流程。
  • 多环境支持:支持发布到不同的环境,如测试环境、预发布环境和正式环境。
  • 构建命令:支持在发布前执行构建命令,如 npm run build
  • 远程命令:支持在项目发布后执行远程命令,如重启服务。
  • 备份与还原:支持项目文件的备份与还原功能。

2. 项目快速启动

安装

首先,确保你已经安装了 Node.js (6.0+)。然后,通过以下命令全局安装 fjpublish:

npm install fjpublish -g

配置文件

在项目根目录下创建一个名为 fjpublish.config.js 的配置文件,内容如下:

module.exports = {
  modules: [
    {
      name: "测试环境",
      env: "test",
      ssh: {
        host: "192.168.0.xxx",
        username: "root",
        password: "xxxxxx"
      },
      buildCommand: "webpack",
      localPath: "example",
      remotePath: "/www/manman/test"
    }
  ]
};

发布命令

使用以下命令发布项目到测试环境:

fjpublish env test

3. 应用案例和最佳实践

案例1:多目录发布

如果你的项目需要发布多个目录,可以使用 localPathEntries 配置项。例如:

module.exports = {
  modules: [
    {
      name: "测试环境",
      env: "test",
      ssh: {
        host: "192.168.0.xxx",
        username: "root",
        password: "xxxxxx"
      },
      buildCommand: "webpack",
      localPathEntries: ["example", "lib"],
      remotePath: "/www/manman/multiple"
    }
  ]
};

案例2:远程后置命令

对于需要重启服务的项目,可以在发布后执行远程命令。例如:

module.exports = {
  modules: [
    {
      name: "测试环境",
      env: "test",
      ssh: {
        host: "192.168.0.xxx",
        username: "root",
        password: "xxxxxx"
      },
      postCommands: ["pm2 reload xxx"],
      buildCommand: "build",
      localPath: "example",
      remotePath: "/www/manman/test"
    }
  ]
};

4. 典型生态项目

1. Webpack

fjpublish 可以与 Webpack 结合使用,自动执行构建命令并在构建完成后发布项目。

2. PM2

对于需要管理 Node.js 进程的项目,fjpublish 支持在发布后自动重启 PM2 进程。

3. Git

fjpublish 可以与 Git 结合使用,自动提交代码并发布到指定环境。

通过以上步骤,你可以快速上手并使用 fjpublish 自动化你的项目发布流程。

登录后查看全文
热门项目推荐