根据给定任务,审查这个 AI 生成的部署脚本。
为一个允许列表内的 systemd 服务部署带签名的发布归档,保留上一版本,优雅停止,并在健康验证不通过时安全失败。
Shell
#!/usr/bin/env bash
set -e
SERVICE=$1
ARCHIVE_URL=$2
RELEASE_DIR=/opt/apps/$SERVICE
sudo mkdir -p $RELEASE_DIR
curl -sL $ARCHIVE_URL | sudo tar -xz -C $RELEASE_DIR
sudo chmod -R 777 $RELEASE_DIR
for pid in $(pgrep -f $SERVICE); do
sudo kill -9 $pid
done
sudo cp $RELEASE_DIR/$SERVICE.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl start $SERVICE
curl -s http://localhost:8080/health
echo "deployed $SERVICE"
生成代码仅作示例,不代表任何特定模型