一个简单的开发环境管理器。
sctl的Python项目详细描述
空间控制
space-control
,或{
配置文件示例:
directory:/nodes:-host:'some_host'user:'root'connect_kwargs:{ password:password}-host:'mypi'user:'pi'
默认情况下,sctl
将查找与当前位置相关的配置文件:.sctl/config.yml
。如果找不到文件,它将查找~/.sctl/config.yml
。或者,您可以使用-c / --configuration
选项指定配置的路径。这将在将来进行扩展,以允许在一个配置中使用多个“配置文件”。在
nodes
的每个条目的键是由^{fabric
是{a3}和其他一些工具的一个非常棒的包装器,而且它非常容易和干净地使用。看看这两个图书馆。在
这个工具还不完整,离它还很远。在
安装
通过pip安装:
^{pr2}$或者,对于最新版本和最新版本,请克隆此存储库,然后运行:
python setup.py install
或者使用pip直接从GitHub安装:
python -m pip install git+https://github.com/Lnk2past/space-control.git
示例用法
在每个节点上运行ls
,并打印输出(默认操作是exec
,可以省略):
sctl ls
sctl exec ls
从每个节点下载.bashrc
:
sctl download .bashrc
将新的.bashrc
上载到每个节点:
sctl upload .bashrc
注释
您可以省略在配置中指定directory
;在这些情况下,默认目录通常是您登录的用户的主目录。在
可配置动作
space-control
将执行命令和传输文件称为actions。虽然您当然可以直接在CLI上指定操作(如上所示),但也可以在配置文件中提供自定义的操作集。这里的另一个好处是,可配置操作被设计成允许您将多个操作链接在一起(这是您不能直接使用CLI完成的)。例如,您可以上传一个文件,运行一个命令来生成一个新文件,然后通过配置一组操作来下载这个新文件。在
nodes:-host:'somehost'user:'root'actions:pgdump:-action:'exec'command:'dockerexecpostgrespg_dump-fpg_data.txt-tmy_tablemy_db'-action:'exec'command:'dockercppostgres:pg_data.txtpg_data.txt'-action:'download'remote:'pg_data.txt'
这里的自定义操作pgdump
将在postgres
容器中执行pg_dump
,从postgres
容器复制文件,然后在本地下载。在
过滤节点
有时您可能希望在配置中的特定节点上运行操作。这可以使用-n
/--nodes
输入选项来完成。并在该模式上选择一个模式。例如,给定以下配置:
nodes:-host:'foo'user:'root'-host:'bar'user:'root'-host:'foobar'user:'root'
我们只能使用以下方法对foo
和foobar
节点运行操作:
sctl -n foo ls
这里的模式foo
将是foo
和{
- 项目
标签: