使用 "global" Thorfile

Use "global" Thorfile

我想将 Thor 与 thor-scmversion 一起使用来提升我的 Chef 食谱的版本。使用 Thor 的正常方法是在项目文件夹中创建一个 Thorfile 并在其中执行任务。对于我的用例,我必须在我编写的每本食谱中创建一个 Thorfile,仅包含

require 'thor/scmversion'

我的问题是,当我在我的项目中的命令行上 运行 thor 时,我是否可以以某种方式将这样的文件放在 "global" 目录中并指向它文件夹。

编辑

我听从了@coderanger 的建议并使用了thor install Thorfile。这将在用户的主目录中创建一个目录 .thor(在我的例子中:/var/lib/jenkins/.thor)和一个 thor.yml 文件,其中包含对我使用上层命令添加的 Thorfile 的引用.

当我现在运行thor list,我得到

$ thor list
version
-------
thor version:bump TYPE [PRERELEASE_TYPE]  # Bump version number (type is major, minor, patch, prerelease or auto)
thor version:current                      # Show current SCM tagged version

但是运行宁thor version:current,我得到以下错误:

Could not find command "version:current".

所以我可能错过了什么?

您可以使用 thor install 设置系统范围的任务。请记住,这可能会使其他人的事情变得更加困难,因为它不会在 git 中为他们设置。