帮助您管理会话的诱变剂助手
mutagen-helper的Python项目详细描述
诱变剂助手
诱变剂助手允许您在配置文件中定义Mutagen同步会话 在要同步的目录上。创建的会话用一个会话名称和一个使 它们更容易管理。
关于诱变剂0.10+
诱变剂是写在早期版本的诱变剂。诱变剂带来了新的 Orchestration feature使大多数诱变剂助手特性 多余,所以你应该先试试这个新功能。
我仍在和Mutagen's author Jacob Howard一起工作,以嵌入尽可能多的诱变剂助手 尽可能将用例放入诱变剂的核心(mutagen-io/mutagen#109)。
安装
- 从github release pages 下载二进制文件
或
- 在python 3.6+上运行
pip install mutagen-helper
快速启动
照常安装诱变剂(版本
0.9+
),并使其在用户PATH
或定义MUTAGEN_HELPER_MUTAGEN_BIN
环境中可用 变量到诱变剂二进制的路径作为替代(即:C:\tools\mutagen\mutagen-helper.exe
)。在要同步的本地目录中创建
.mutagen-helper.yml
文件,并将beta
属性设置为 同步的目的地。
project_name:'helper-project'# Optional, it will fallback to directory name if not definedbeta:'root@192.168.1.100:/home/vagrant/projects'# Beta side of the synchronisationoptions:# Options can be providedsync-mode:two-way-resolveddefault-file-mode-beta:664default-directory-mode-beta:775default-owner-beta:vagrantdefault-group-beta:vagrantignore-vcs:Trueignore:-node_modules/-vendor/
诱变剂助手将project_name
附加到beta url。意思是这个
目录将同步到/home/vagrant/projects/helper-project
。
从项目目录运行
mutagen-helper up
。运行
mutagen-helper list
查看正在运行哪些会话。此命令的输出与mutagen list
输出匹配, 但是作为json和附加的同步助手属性,比如Project name
、Session name
和Configuration file
。运行
mutagen-helper --help
检查其他可用命令。
用法
Usage: __main__.py [OPTIONS] COMMAND [ARGS]... Main command group :return: Options: --version Show the version and exit. -v, --verbose Add more output -s, --silent No output at all -h, --help Show this message and exit. Commands: up Creates and starts a new synchronization sessions down Permanently terminates synchronization sessions pause Pauses synchronization sessions flush Flush synchronization sessions resume Resumes paused or disconnected synchronization sessions list Lists existing synchronization sessions and their statuses
多个项目支持
如果所有项目都位于同一目录中,则可以同时up
多个项目。
C:\workspace |- project1 |- .mutagen-helper.yml |- ... |- project2 |- .mutagen-helper.yml |- ... |- project3 |- .mutagen-helper.yml |- ...
mutagen-helper up --path C:\workspace
或
cd C:\workspace mutagen-helper up
或
exportMUTAGEN_HELPER_PATH=C:\workspace mutagen-helper up
这些命令将创建在C:\workspace
的每个子目录的.mutagen-helper.yml
中定义的所有诱变剂会话。
高级配置
您可以使用环境变量扩展,语法类似于bash中的${VARIABLE}
。您可以设置默认值,如果
变量不是用${VARIABLE:-default}
定义的。
您还可以在sessions
键下定义多个会话。在配置文件的根目录中定义的属性
将由每个会话继承。
您还可以为会话命名,以便精确识别会话,但请记住,更改名称 运行会话时可能会导致问题,因为它们用于查找真正的诱变剂会话ID。
beta:'${DOCKER_DEVBOX_MUTAGEN_BETA:-root@192.168.1.100:/home/vagrant/projects}'sessions:-options:name:'partial-watch-alpha'sync-mode:two-way-resolveddefault-file-mode-beta:664default-directory-mode-beta:775default-owner-beta:vagrantdefault-group-beta:vagrantignore-vcs:Trueignore:-node_modules/-vendor/max-staging-file-size:1MBwatch-mode-beta:no-watch-options:name:'full-no-watch'sync-mode:two-way-resolveddefault-file-mode-beta:664default-directory-mode-beta:775default-owner-beta:vagrantdefault-group-beta:vagrantmax-staging-file-size:1MBwatch-mode:no-watch
可以使用projects
键为多个项目定义一个配置文件。它同样支持
继承机制与sessions
相同。
beta:'${DOCKER_DEVBOX_MUTAGEN_BETA:-root@192.168.1.100:/home/vagrant/projects}'options:sync-mode:two-way-resolveddefault-file-mode-beta:664default-directory-mode-beta:775default-owner-beta:vagrantdefault-group-beta:vagrantprojects:-path:C:\workspace\project1-path:C:\workspace\project2-path:C:\workspace\project3beta:beta:'vagrant@192.168.1.100:/home/vagrant/projects'options:sync-mode:two-way-resolveddefault-file-mode-beta:600default-directory-mode-beta:700
自动配置
您可以自动配置包含许多项目的目录。在内部创建一个.mutagen-helper.yml
文件
这些目录的父目录,并设置auto_configure
。
auto_configure:True
C:\workspace |- .mutagen-helper.yml # Auto configure YAML file |- project-dev1 # Projects without any mutagen-helper configuration file |- ... |- project-dev2 |- ... |- project-dev2-stage |- ... |- project-prod1 |- ...
这将为每个子目录(project-dev1
,project-dev2
,project-dev2-stage
)和
project-prod1
)。
可以将include
和exclude
设置为仅对某些子目录和其他属性禁用自动配置功能
您通常可以在projects
和sessions
beta:'${DOCKER_DEVBOX_MUTAGEN_BETA:-root@192.168.1.100:/home/vagrant/projects}'auto_configure:include:-'*-dev*'exclude:-'*-stage'options:sync-mode:two-way-resolveddefault-file-mode-beta:644default-directory-mode-beta:755default-owner-beta:vagrantdefault-group-beta:vagrant
这将为project-dev1
和project-dev2
创建一个同步项目(include
具有其他优先级exclude
)。
默认情况下,如果项目目录中存在配置文件,则它仍用于创建
同步项目。您可以使用ignore_project_configuration
忽略那些配置文件,让auto
configure自己创建同步项目。
beta:'${DOCKER_DEVBOX_MUTAGEN_BETA:-root@192.168.1.100:/home/vagrant/projects}'auto_configure:ignore_project_configuration:True# It can also be a list of glob for project names to ignoreoptions:sync-mode:two-way-resolveddefault-file-mode-beta:644default-directory-mode-beta:755default-owner-beta:vagrantdefault-group-beta:vagrant
环境变量和默认值
有些属性具有默认值,基于环境变量(如果已定义)。
alpha
MUTAGEN_HELPER_ALPHA
环境变量,或- 当
.mutagen-helper.yml
驻留时的目录
beta
:MUTAGEN_HELPER_BETA
环境变量,或- 在
.mutagen-helper.yml
中是必需的
append_project_name_to_beta
:MUTAGEN_HELPER_APPEND_PROJECT_NAME_TO_BETA
,或True
MUTAGEN_HELPER_PATH
环境变量可以设置为使诱变剂助手加载的路径
默认情况下从该路径(而不是当前工作目录)配置。(--path
选项仍可使用)