3 个版本 (重大更新)
0.3.0 | 2021 年 7 月 29 日 |
---|---|
0.2.0 | 2020 年 10 月 25 日 |
0.1.0 | 2020 年 9 月 20 日 |
#2402 in 命令行工具
235KB
2.5K SLoC
关于
一个小型工具,用于上传/下载到/从运行中的 AEM 实例。
它旨在用作 IntelliJ IDEA 的外部工具,以简化内容同步。
je 0.3.0
Jcr Exchange - easy download and upload files to and from JCR
USAGE:
je [FLAGS] [OPTIONS] <SUBCOMMAND>
FLAGS:
-d, --debug If enabled, deployed to AEM packages are left intact (are not deleted) to allow investigation
-h, --help Prints help information
-V, --version Prints version information
-v, --verbose Enables logs: -v - enables INFO log level -vv - enables DEBUG log level
OPTIONS:
-p, --profile <profile> Profile selection
SUBCOMMANDS:
get Downloads content to local file system
get-bundle Downloads bundle (pack of crx paths) defined in config file
help Prints this message or the help of the given subcommand(s)
init Initializes configuration file
put Uploads content to AEM instance
reinit Rewrites the configuration file with newest version
安装
标准安装
- 前往 发布 页面
- 下载适用于您的操作系统的最新
je
存档 - 解压它
- 将
je
可执行文件的路径添加到您的 PATH 变量中
Rust 程序员
安装
cargo install je
升级
cargo install --force je
配置
默认
配置文件不是必需的。如果没有它,je
将使用默认配置。但是,您仍然可以初始化配置并更改它。默认配置也是初始配置
❯ je init
❯ cat .je
ignore_properties = []
[[profile]]
name = "author"
addr = "https://127.0.0.1:4502"
user = "admin"
pass = "admin"
自定义
这是一个更复杂的配置,包括对其字段的描述
ignore_properties = [{ type = "contains", value = "jcr:createdBy" },
{ type = "regex", value = '.*=\[]' }]
[[profile]]
name = "author"
addr = "https://127.0.0.1:4502"
user = "admin"
pass = "admin"
[[profile]]
name = "publish"
addr = "https://127.0.0.1:4503"
user = "admin"
pass = "admin"
[[bundle]]
name = "configs"
files = ["/apps/my-app/config", "/config/my-app"]
[[bundle]]
name = "dam"
paths = ["/content/dam/my-app/thumbnails", "/content/dam/my-app/files"]
ignore_properties
- 告诉je
在下载内容后应删除.content.xml
的哪些属性;目前有两种忽略机制可用contains
- 在每一行上执行line.contains(value)
regex
- 在每一行上执行regex.is_match(line)
,它使用 Perl 风格的正则表达式
- 配置文件部分 - 您可以添加多个配置文件,每个配置文件都有设置
name
- 配置文件名称,以后可以使用--profile
选项指定哪个实例是目标;如果未指定,则使用配置中的第一个配置文件addr
- 实例的地址,如果域名不可用,包括端口user
- 用于认证 AEM 实例的用户pass
- 用于认证 AEM 实例的密码
- 捆绑部分 - 您可以定义在一运行中同步的文件包
name
- 捆绑的名称,以后可以使用--bundle
选项来指定要同步的文件包paths
- 哪些文件路径是捆绑的一部分
⚠️ 如果您使用了较旧的
je
版本,则可以将配置文件转换为新的格式。详细信息如下。
详细信息
`je reinit` 将改变ignore_properties = ["jcr:created", "jcr:createdBy"]
# (...)
为
version = "0.3.0"
[[ignore_properties]]
type = "contains"
value = "jcr:created"
[[ignore_properties]]
type = "contains"
value = "jcr:createdBy"
# (...)
这相当于
version = "0.3.0"
ignore_properties = [{type = "contains", value = "jcr:created"},
{type = "contains", value = "jcr:createdBy"}]
# (...)
您可以使用这两种格式中的任何一种。区别是 这个问题 的结果。
IntelliJ 设置
添加 je
命令
- 转到
Settings -> Tools -> External Tools
。 - 使用
+
符号添加新的外部工具。 - 配置工具,如以下截图所示。
类似地添加和配置 je put
命令
注意
- 如果您没有在 PATH 中安装
je
,您可以在Program
输入中设置完整路径 Arguments
输入-vv
- 设置详细程度,-vv
表示 DEBUG 日志级别,-v
表示 INFO 日志级别;这是可选的--profile
- 设置目标配置文件;如果没有提供,将使用配置中的第一个配置文件-d
- 设置调试模式,在此模式下上传到 AEM 的临时包不会被删除,以便在调试期间进行验证;这是可选的- 子命令(
put
或get
) $FilePath$
- IntelliJ 变量,在命令执行期间将被替换,其绝对路径指向执行命令的文件
Working directory
输入- 设置为
$ProjectFileDir$
允许从项目根目录运行je
- 请注意,
je
将尝试从设置的当前工作目录读取配置文件
- 设置为
配置快捷键
- 转到
Settings -> Keymap -> External Tools
。 - 找到之前添加的命令。
- 通过
Right Click -> Add Keyboard Shortcut
设置键盘映射
许可证
此项目可在以下任一许可证下使用
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,根据 Apache-2.0 许可证定义,应以上述方式双重许可,不附加任何额外条款或条件。
请参阅CONTRIBUTING.md以获取如何为je
做出贡献的提示。
依赖项
~12–27MB
~429K SLoC