jenkins部署代码
# 脚本配置
#!/usr/bin/env bash
Scripts_Path="$(cd `dirname $0`; pwd)"
Date=$(date +"%Y%m%d-%H%M-%S")
Action=$1
Project=$2
Env=$3
Src_path=$4
Config_Path="/data/sx_project/${Env}/project_config/${Project}"
Local_Path="/data/sx_project/${Env}/project_service/${Project}"
Dest_Path="/data/sx_project/project_service/${Project}"
#本地备份路径
Project_backup="/data/sx_project/${Env}/project_backup"
[ -d ${Project_backup} ] || mkdir -p ${Project_backup}
if (( $# < 3 ));then
echo "Usage:$0 action project env"
exit 1
fi
Release_project(){
if [ ! -z "$(ls -A ${Local_Path})" ];then
cp -a ${Local_Path} ${Project_backup}/${Project}_${Date};
find ${Local_Path}/* -path ${Local_Path}/storage -prune -o -exec rm -rf {} \;
else
mkdir -p ${Local_Path}
fi
cp -a ${Src_path}/* ${Local_Path}
\cp -a ${Config_Path}/.env ${Local_Path}
chown -R nginx:nginx ${Local_Path}
#ansible tiku_${Env} -m file -a "path=${Dest_Path} owner=nginx group=nginx mode=755 state=directory recurse=yes"
}
if [[ ${Action} == "release" ]];then
Release_project
elif [[ ${Action} == "rollback" ]];then
Rollback_project
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# jenkins配置
Date=$(date +"%Y%m%d-%H%M-%S")
Env=${Env}
Project=tiku_admin
Src_path="/var/lib/jenkins/workspace/tiku_admin"
/bin/bash -x /usr/local/scripts/release.sh release ${Project} ${Env} ${Src_path}
1
2
3
4
5
6
2
3
4
5
6
在线编辑 (opens new window)
上次更新: 2025/02/25, 18:30:54