3个版本

0.1.2 2023年9月14日
0.1.1 2023年9月8日
0.1.0 2023年9月8日

#314 in 配置

MIT许可证

4MB
1K SLoC

包含 (ELF exe/lib, 12MB) resm

远程服务器管理工具

一组简化连接到远程服务器以开发网络系统的工具。

设置

创建配置文件

首先,根据以下JSON格式创建一个配置文件来使用此命令。(示例配置文件可以在env中找到。)

配置文件会自动从$HOME/env递归加载,因此可以为每个项目分别管理,例如。还可以通过指定所有子命令共有的-e选项来更改这些配置文件的读取路径。

[
    {
        "project": "project name",
        "environment": "dev",

        "remote_path": "path/to/remote/project/root",
        "remote_cache_path": "path/to/remote/project/cache",

        "git_path": "path/to/git/repo",
        "git_src_path": "path/to/git/src",
        "backup_path": "path/to/backup",

        "db_host": "db host name",
        "db_host_reader": "db host name for reader",
        "db_port": 3306,
        "db_name": "db name",
        "db_user": "db user",
        "db_password": "db password",
        "db_root_user": "db root user",
        "db_root_password": "db root password",

        "connect_info":
        {
            "host": "host name",
            "port": 22,
            "user": "user",
            "identity_file": "path/to/key_file"
        },

        "tunnels":
        [
            {
                "host": "bastion host name",
                "port": 22,
                "user": "user",
                "identity_file": "path/to/key_file"
            }
        ]
    }
]

每个字段的含义如下。标记有星号(*)的字段是必需的。

  • 项目 (*): 可选的项目名称
  • 环境 (*): 可选的环境名称
  • 远程路径:在目标服务器上操作的引用路径(绝对路径)
  • 远程缓存路径:目标服务器上缓存目录的路径(绝对路径)
  • git路径:git仓库的路径(绝对路径)
  • git源路径:git仓库中源目录的路径(绝对路径)
  • 备份路径:备份目录的路径(绝对路径)
  • db_host:数据库服务器的主机名
  • db_host_reader:数据库服务器(读取器)的主机名
  • db_port:数据库服务器的端口号
  • db_name:数据库名称
  • db_user:数据库用户名
  • db_password:数据库密码
  • db_root_user:数据库root用户名
  • db_root_password:数据库root密码
  • 连接信息 (*)
    • 主机 (*):连接到的主机名或IP地址
    • 端口号:服务器的端口号
    • 用户名:用户名
    • 密码:密码(输入密码不能省略)
    • 身份文件:身份文件的路径(绝对路径)
  • 隧道:连接时需要通过的服务器步骤信息(连接信息数组)

初始化

执行以下命令以生成SSH配置文件。

$ resm init

将生成的配置文件放置在$HOME/.ssh/config中或相应地追加。

命令

list

列出项目。

show

显示项目设置。

replace

用本地项目目录替换目标服务器的项目目录。简而言之,当您想执行应用程序的完全更新时,它非常有用。

patch

仅将本地存储库中的指定文件上传到远程服务器。

clear

清除远程缓存目录。

backup

备份远程目录。

backup-db

备份数据库。

注意

此工具依赖于仅与Unix兼容的包,因此如果您在Windows环境中开发,请在WSL上安装此命令,并使用位于 /mnt 的Windows文件作为 git_pathgit_src_path。请确保指定系统中的路径。

依赖项

~21-33MB
~580K SLoC