Skip to content

命令行中心

用于执行命令行命令(在Windows下是cmd,在Linux下是shell命令)。提供了自定义命令,以及Docker、Mvn、Yun等常用命令。

Maven坐标

xml
<dependency>
    <groupId>com.ikingtech.framework</groupId>
    <artifactId>sdk-cmd</artifactId>
</dependency>

用法

Java
//批量执行命令,传入字符串集合
Cmd cmd = new Cmd();
cmd.execute(Collections.singletonList("要执行的命令"));

Docker

  • Docker.pull()

    Docker.pull().imageName("镜像名称").execute();
  • Docker.run()

    以mysql为例

    Docker.run()
            .ports(Tools.Coll.newMap(Tools.Coll.Kv.of("宿主机端口", "3306")))
            .volumes(Tools.Coll.newMap(
                    Tools.Coll.Kv.of("配置文件根路径" + "/mysql.cnf", "/etc/mysql/conf.d/mysql.cnf"),
                    Tools.Coll.Kv.of("数据文件根路径", "/var/lib/mysql/"),
                    Tools.Coll.Kv.of("初始化文件根路径", "/docker-entrypoint-initdb.d/")
            ))
            .env(Tools.Coll.newMap(
                    Tools.Coll.Kv.of("MYSQL_ROOT_PASSWORD", "mysql密码")
            ))
            .name(MYSQL_CONTAINER_PREFIX + "实例号")
            .imageName("镜像名称")
            .options(Tools.Coll.newList(
                    "--character-set-server=utf8mb4",
                    "--collation-server=utf8mb4_unicode_ci"
            ))
            .execute();
  • Docker.start()

    Docker.start().containerName("容器名称").execute()
  • Docker.stop()

    Docker.stop().containerName("容器名称").execute()
  • Docker.rm()

    Docker.rm().containerName("容器名称").execute()

Mvn

  • Mvn.pck()

    Mvn.pck().srcDir("要打jar包代码根路径").execute();

Yum

  • Yum.install()

    Yum.install().packages("要下载的名称...").execute();
  • Yum.remove()

    Yum.remove().packages("要删除的名称...").execute();

SystemCtl

  • SystemCtl.daemonReload()

    SystemCtl.daemonReload().execute(); //重新加载服务
  • SystemCtl.restart()

    SystemCtl.restart().service("服务名称").execute(); //重新启动服务