📅  最后修改于: 2023-12-03 15:41:03.680000             🧑  作者: Mango
离子发布(Ion Release)是一款基于 Shell-Bash 编写的轻量级工具,用于自动化版本发布流程。使用离子发布,您可以方便、快速地完成代码打包、上传、部署等一系列操作,解放双手,提高工作效率。
离子发布可以直接通过 Git 克隆到本地,也可以通过 Homebrew 安装。以下是在 macOS 系统上使用 Homebrew 安装的示例:
brew tap ionburstcloud/ion
brew install ion-<client>
安装完成后,您可以使用 ion
命令行工具来发布您的代码。以下是一个基本的发布流程:
#!/bin/bash
# 设置参数
APP_NAME="myapp"
VERSION="1.0.0"
LOCAL_FILE="./dist/$APP_NAME-$VERSION.zip"
REMOTE_SERVER="example.com"
REMOTE_PATH="/var/www/$APP_NAME"
# 打包代码
npm run build
zip -r -X "$LOCAL_FILE" .
# 发布到远程服务器
ion release \
--source "$LOCAL_FILE" \
--target "$REMOTE_SERVER:$REMOTE_PATH" \
--transport sftp \
--cleanup
上述代码中,我们首先设置了参数,包括应用名称、版本号、本地文件路径、远程服务器地址和路径。随后我们使用 npm run build
命令打包代码,然后使用 zip
命令将代码打包成一个压缩文件。最后我们使用 ion release
命令来发布代码,指定了源文件、目标服务器、传输方式和清除临时文件等选项。
除了基本的发布流程,离子发布还支持许多高级用法,比如使用多个传输方式、设置上传限速、设置 SSH 代理、使用外部配置文件等等。以下是一些典型的示例:
ion release \
--source "$LOCAL_FILE" \
--target "$REMOTE_SERVER1:$REMOTE_PATH1,$REMOTE_SERVER2:$REMOTE_PATH2" \
--transport sftp,scp
上述代码中,我们使用了多个传输方式(SFTP 和 SCP),并将源文件上传到了两个不同的服务器上。
ion release \
--source "$LOCAL_FILE" \
--target "$REMOTE_SERVER:$REMOTE_PATH" \
--transport sftp \
--speed-limit 100k
上述代码中,我们使用了 --speed-limit
选项设置了上传限速为 100KB/s。
ion release \
--source "$LOCAL_FILE" \
--target "$REMOTE_SERVER:$REMOTE_PATH" \
--transport sftp \
--proxy "socks5://127.0.0.1:1080"
上述代码中,我们使用了 --proxy
选项设置了 SSH 代理为 SOCKS5 协议,地址为 127.0.0.1:1080
。
ion release --config ion.config.json
上述代码中,我们使用了 --config
选项指定了一个外部配置文件 ion.config.json
,该文件包含了发布的所有参数和选项。您可以将这个文件放在项目的根目录下,这样就可以方便地复用和管理发布配置了。
离子发布是一款非常方便、实用的自动化版本发布工具,它提供了多种传输方式、版本管理工具和高级选项,支持本地和远程服务器发布。如果您经常需要手动发布代码,那么离子发布将是您的不二选择。