74 lines
1.6 KiB
Bash
74 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
#记录开始时间
|
|
startTime=$(date +%s)
|
|
|
|
# 登录到目标环境
|
|
baseDir="/home/somuns/ci4s"
|
|
cd ${baseDir}
|
|
|
|
|
|
#build
|
|
# 默认参数
|
|
branch="master"
|
|
service="manage-front"
|
|
env="dev"
|
|
|
|
#
|
|
show_help() {
|
|
echo "Usage: $0 [-b branch] [-s service] [-e environment]"
|
|
echo
|
|
echo "Options:"
|
|
echo " -b Branch to deploy, default: master"
|
|
echo " -s Service to deploy (manage-front, manage, front, all, default: manage-front)"
|
|
echo " -e Environment (e.g., dev, test, default: dev)"
|
|
echo " -h Show this help message"
|
|
}
|
|
|
|
# 解析命令行选项
|
|
while getopts "b:s:e:h" opt; do
|
|
case $opt in
|
|
b) branch=$OPTARG ;;
|
|
s) service=$OPTARG ;;
|
|
e) env=$OPTARG ;;
|
|
h) show_help; exit 0 ;;
|
|
\?) echo "Invalid option -$OPTARG" >&2; show_help; exit 1 ;;
|
|
esac
|
|
done
|
|
|
|
valid_services=("manage-front" "manage" "front" "all")
|
|
if [[ ! " ${valid_services[@]} " =~ " $service " ]]; then
|
|
echo "Invalid service name: $service" >&2
|
|
echo "Valid services are: ${valid_services[*]}"
|
|
exit 1
|
|
fi
|
|
|
|
valid_envs=("dev" "test")
|
|
if [[ ! " ${valid_envs[@]} " =~ " $env " ]]; then
|
|
echo "Invalid environment: $env" >&2
|
|
echo "Valid environments are: ${valid_envs[*]}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "start build"
|
|
sh ${baseDir}/k8s/build.sh -b ${branch} -s ${service}
|
|
if [ $? -ne 0 ]; then
|
|
echo "Build failed"
|
|
exit 1
|
|
fi
|
|
echo "build success"
|
|
|
|
# 部署
|
|
echo "start deploy"
|
|
sh ${baseDir}/k8s/deploy.sh -s ${service} -e ${env}
|
|
if [ $? -ne 0 ]; then
|
|
echo "Deploy failed"
|
|
exit 1
|
|
fi
|
|
echo "deploy success"
|
|
|
|
# 记录结束时间
|
|
endTime=$(date +%s)
|
|
# 计算运行时间
|
|
duration=$(( $endTime - $startTime ))
|
|
echo "编译发布总耗时: $duration 秒" |