21 个版本
0.13.2 | 2021 年 8 月 24 日 |
---|---|
0.13.1 | 2021 年 4 月 30 日 |
0.13.0 | 2021 年 3 月 8 日 |
0.12.3 | 2020 年 8 月 27 日 |
0.8.0 | 2018 年 5 月 17 日 |
#663 in 开发工具
每月 47 次下载
2MB
1K SLoC
克朗克尔
用于管理 Nextcloud 应用的 CLI 辅助工具。
Usage:
krankerl clean
krankerl enable
krankerl disable
krankerl init
krankerl login (--appstore | --github) <token>
krankerl package [--shipped]
krankerl publish [--nightly] <url>
krankerl sign --package
krankerl up
krankerl version (major|minor|patch)
krankerl --version
Options:
-h --help Show this screen.
--version Show version.
关于应用名称的疑问:单词 克朗克尔 在下奥地利方言中意为 卷须。 这 是它在葡萄园中典型的样子。
启用当前应用
克朗克尔提供通过 occ
工具启用应用的快捷方式。这假设您位于应用的根目录中,且 occ
可在当前目录上方两级目录中找到。
krankerl enable
禁用当前应用
克朗克尔提供通过 occ
工具禁用应用的快捷方式。这假设您位于应用的根目录中,且 occ
可在当前目录上方两级目录中找到。
krankerl disable
打包
克朗克尔可以为当前应用构建 .tar.gz
归档。这假设应用根目录中存在 krankerl.toml
配置文件。如果没有,克朗克尔将回退到合理的默认值。命令将不会使用应用目录的当前状态,而是将其克隆到新目录中。此步骤是为了使应用构建可重现且独立于本地更改。
步骤
以下是克朗克尔执行打包应用的步骤
- 如果存在,删除
build/artifacts
- 将当前目录克隆到
build/artifacts/<app_id>
- 运行打包前命令
- 构建不排除任何
exclude
规则的文件和目录列表 - 将这些文件和目录打包并压缩成
build/artifacts/<app_id>.tar.gz
归档
初始化配置
您可以通过手动创建 krankerl.toml
配置文件,或者使用 init
命令让克朗克尔为您创建它。
krankerl init
这将创建一个最小配置。根据您的需求进行调整。
配置概述
排除的文件
从 v0.12.0
版本起,Krankerl 不再支持排除文件列表。请使用 .nextcloudignore
代替。
您的仓库中的某些文件和目录不应包含在生成的 tarball 中。在 [package]
中的 exclude
数组列出了要排除的文件和目录的 glob 模式。
常见的排除项包括 .git
目录,以及仅在开发期间需要的测试和配置文件。
[package]
exclude = [
".git",
"composer.json",
"composer.lock",
"krankerl.toml",
"node_modules",
"tests",
]
打包前命令
构建应用程序存档通常需要执行一些命令。常见的例子是 composer 和 npm 依赖项,这些依赖项不是 git 仓库的一部分,因此在克隆的目录中缺失。
package_cmds
数组允许您指定在应用程序根目录下由 sh
执行的命令。
[package]
before_cmds = [
"composer install",
"npm install",
"npm run build",
]
发布
一旦您使用 package
命令打包了应用程序文件,Krankerl 允许您在 apps.nextcloud.com 上发布应用程序版本。
注意:目前这仅包括在应用商店的注册。您必须首先将存档上传到 GitHub(或任何下载服务器),然后将 URL 传递给 package
命令。
krankerl publish --nightly https://github.com/ChristophWurst/nextcloud_sentry/releases/download/nightly-20171126/sentry.tar.gz
--nightly
开关将应用程序注册为夜间版本。
依赖关系
~34–49MB
~1M SLoC