帮助您管理会话的诱变剂助手

mutagen-helper的Python项目详细描述


诱变剂助手

Latest VersionMIT LicenseBuild StatusCoveralls

诱变剂助手允许您在配置文件中定义Mutagen同步会话 在要同步的目录上。创建的会话用一个会话名称和一个使 它们更容易管理。

关于诱变剂0.10+

诱变剂是写在早期版本的诱变剂。诱变剂带来了新的 Orchestration feature使大多数诱变剂助手特性 多余,所以你应该先试试这个新功能。

我仍在和Mutagen's author Jacob Howard一起工作,以嵌入尽可能多的诱变剂助手 尽可能将用例放入诱变剂的核心(mutagen-io/mutagen#109)。

安装

  • 在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 nameSession nameConfiguration 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-dev1project-dev2project-dev2-stage)和 project-prod1)。

可以将includeexclude设置为仅对某些子目录和其他属性禁用自动配置功能 您通常可以在projectssessions

上使用
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-dev1project-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选项仍可使用)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在点击JButton触发的进程仍在处理时更新JLabel?   try-catch为什么Java有嵌套的try语句?   java SSH命令执行失败,出现异常“net.schmizz.sshj.connection.ConnectionException:引发连接重置异常”   java在ApacheCamel的接口类解析器中,resolveMandatoryClass(字符串名称)有什么用途?   java如何在Eclipse远程调试器中找到有问题的线程?   java线程:containerlaunch退出代码127的异常   lambda左连接Java中的2个对象列表   Swift 2.0协议扩展和Java/C抽象类之间有区别吗?   安卓改造:使用GSON将JSON解析为多个Java对象   Spring中服务层的java角色(澄清)   html Java与网站的通信   Spring boot rest api是在不创建java类的情况下将getResultList()转换为映射以显示响应的最佳方法吗?   使用“getElementById”从javascript获取值到java   java如何在文本视图中以粗体和多色显示文本   java是设置TextView颜色的最有效方法