1 个不稳定版本
0.0.1 | 2020年6月25日 |
---|
#82 在 #任务
22KB
388 行
Thresh
🛳 小巧部署代理
安装和设置
下载最新的发布版本并添加可执行权限
$ wget -O thresh "https://github.com/Huemul/thresh/releases/download/v0.0.1/thresh-x86-64-linux"
$ chmod +x thresh
现在,由于Thresh可用,可以运行help
子命令来显示CLI信息
$ ./thresh --help
thresh 0.0.1
Tiny deployment agent
USAGE:
thresh [OPTIONS] <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --config <config> Path to Threshfile [default: .threshfile]
-s, --secret <secret> Secret to generate and authenticate the token. Can also be provided in the Threshfile
SUBCOMMANDS:
help Prints this message or the help of the given subcommand(s)
serve Start thresh agent server
token Create a token based on the secret to authorize agent connections
接下来创建一个包含部署项目所需配置的.threshfile
。可选地,此文件可以包含全局Thresh配置。一个threshfile
的示例可以在这里找到。
Systemd配置(可选)
创建一个systemd服务文件(/etc/systemd/system/thresh.service
),具有以下属性
[Unit]
Description=Thresh
[Service]
ExecStart=/path/to/thresh -c /path/to/.threshfile -s super-secret-secret serve -l /path/to/thresh-logs -p 8080
然后启用并启动Thresh服务
# Might require sudo
$ systemctl enable /etc/systemd/system/thresh.service
$ systemctl start thresh
要读取日志和检查状态,可以使用以下命令
$ systemctl status thresh
$ journalctl -u thresh -b
触发任务
一旦Thresh运行并暴露在互联网上,可以通过向/webhook
端点POST项目名称来触发部署任务。
curl -X POST 'https://thresh.yourdomain.com/webhook' \
-H 'Authorization: Bearer ********' \
-d '{ "name": "foo-project" }'
开发
运行
cargo run
# Watch mode
cargo watch -x run
# Setting CLI options
cargo run -- --port 9090 --logs-dir ./logs
测试
cargo test
# Watch mode
cargo watch -x test
依赖项
~36–52MB
~1M SLoC