Simplify install command
This commit is contained in:
@@ -10,52 +10,24 @@ ZK Data Agent 是面向中控数据开发流程的 Agent 服务。当前仓库
|
|||||||
|
|
||||||
### 从 Git 一键部署
|
### 从 Git 一键部署
|
||||||
|
|
||||||
适合首次部署。该命令会在拉取代码后执行 `--bootstrap-system`,必要时使用 sudo 安装 Ubuntu 系统依赖;应用本身仍部署在用户目录。
|
适合首次部署。首次安装会默认初始化 Ubuntu 系统依赖,必要时请求 sudo;应用本身仍部署在用户目录。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
APP_DIR="$HOME/zk-data-agent" BRANCH="main" REPO="git@git.n.xiaomi.com:wuyang6/zk-data-agent.git" bash -lc '
|
git clone git@git.n.xiaomi.com:wuyang6/zk-data-agent.git "$HOME/zk-data-agent" || true
|
||||||
set -euo pipefail
|
bash "$HOME/zk-data-agent/scripts/install-from-git.sh"
|
||||||
|
|
||||||
if [ -d "$APP_DIR/.git" ]; then
|
|
||||||
cd "$APP_DIR"
|
|
||||||
git fetch origin
|
|
||||||
git checkout "$BRANCH"
|
|
||||||
git pull --ff-only origin "$BRANCH"
|
|
||||||
else
|
|
||||||
rm -rf "$APP_DIR"
|
|
||||||
git clone --branch "$BRANCH" "$REPO" "$APP_DIR"
|
|
||||||
cd "$APP_DIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
bash scripts/deploy-ubuntu.sh "$BRANCH" --skip-git --bootstrap-system
|
|
||||||
'
|
|
||||||
```
|
```
|
||||||
|
|
||||||
后续更新不需要安装系统依赖,可以使用:
|
后续更新不需要安装系统依赖,可以使用:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
APP_DIR="$HOME/zk-data-agent" BRANCH="main" REPO="git@git.n.xiaomi.com:wuyang6/zk-data-agent.git" bash -lc '
|
bash "$HOME/zk-data-agent/scripts/install-from-git.sh"
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
if [ -d "$APP_DIR/.git" ]; then
|
|
||||||
cd "$APP_DIR"
|
|
||||||
git fetch origin
|
|
||||||
git checkout "$BRANCH"
|
|
||||||
git pull --ff-only origin "$BRANCH"
|
|
||||||
else
|
|
||||||
rm -rf "$APP_DIR"
|
|
||||||
git clone --branch "$BRANCH" "$REPO" "$APP_DIR"
|
|
||||||
cd "$APP_DIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
bash scripts/deploy-ubuntu.sh "$BRANCH" --skip-git
|
|
||||||
'
|
|
||||||
```
|
```
|
||||||
|
|
||||||
修改部署目录或分支时,只需要调整命令开头的变量:
|
默认部署目录是 `$HOME/zk-data-agent`,默认分支是 `main`。修改部署目录或分支时再加变量:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
APP_DIR="$HOME/zk-data-agent-test" BRANCH="main" REPO="git@git.n.xiaomi.com:wuyang6/zk-data-agent.git" bash -lc '...'
|
git clone git@git.n.xiaomi.com:wuyang6/zk-data-agent.git "$HOME/zk-data-agent-test" || true
|
||||||
|
APP_DIR="$HOME/zk-data-agent-test" bash "$HOME/zk-data-agent-test/scripts/install-from-git.sh"
|
||||||
```
|
```
|
||||||
|
|
||||||
这个命令会自动完成:
|
这个命令会自动完成:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Options:
|
|||||||
--force 使用 git reset --hard origin/<branch> 覆盖本地改动
|
--force 使用 git reset --hard origin/<branch> 覆盖本地改动
|
||||||
--skip-git 跳过 git 拉取,只部署当前工作区
|
--skip-git 跳过 git 拉取,只部署当前工作区
|
||||||
--bootstrap-system
|
--bootstrap-system
|
||||||
首次安装时使用 sudo 安装 Ubuntu 系统依赖,应用仍部署在用户目录
|
强制使用 sudo 安装 Ubuntu 系统依赖;首次安装会默认执行
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ require_command() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bootstrap_system_packages() {
|
bootstrap_system_packages() {
|
||||||
if [[ "${BOOTSTRAP_SYSTEM}" != "1" ]]; then
|
if [[ "${BOOTSTRAP_SYSTEM}" != "1" && -f "${ENV_FILE}" ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
require_command sudo "首次安装系统依赖需要 sudo。"
|
require_command sudo "首次安装系统依赖需要 sudo。"
|
||||||
|
|||||||
@@ -54,6 +54,15 @@ command -v git >/dev/null 2>&1 || {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if [[ -e "${APP_DIR}" && ! -d "${APP_DIR}/.git" ]]; then
|
||||||
|
echo "${APP_DIR} already exists but is not a git repository." >&2
|
||||||
|
echo "Please move it away, or rerun with --force to replace it." >&2
|
||||||
|
if [[ "${FORCE}" != "1" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rm -rf "${APP_DIR}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -d "${APP_DIR}/.git" ]]; then
|
if [[ -d "${APP_DIR}/.git" ]]; then
|
||||||
cd "${APP_DIR}"
|
cd "${APP_DIR}"
|
||||||
git fetch origin
|
git fetch origin
|
||||||
|
|||||||
Reference in New Issue
Block a user