@@ -7,26 +7,16 @@ ngVersion=$3
77home=$( cd ` dirname $0 ` /../..; pwd) ;
88cd $home
99
10+ if [ ! -f " $AWADE_BUILD_RESOURCE /docker/common.sh" ]; then
11+ echo " 错误: common.sh 文件不存在 ($AWADE_BUILD_RESOURCE /docker/common.sh)"
12+ exit 1
13+ fi
14+ . $AWADE_BUILD_RESOURCE /docker/common.sh
15+
1016dockerName=" jigsaw_build_${change} _${patch} _${ngVersion} "
1117echo " start-docker >>>>>>>>>> dockerName: $dockerName "
1218
13- cleanupDocker () {
14- echo " cleanupDocker >>>>>>>>>> $dockerName ..."
15- # 停止并删除容器
16- containerId=$( docker ps -a | grep $dockerName | awk {' print $1' })
17- if [ ! -z " $containerId " ]; then
18- echo " $dockerName : 停止并删除容器 $containerId ..."
19- docker kill $containerId
20- docker rm $containerId
21- fi
22-
23- # 删除镜像
24- imageId=$( docker images | grep $dockerName | awk {' print $3' })
25- if [ ! -z " $imageId " ]; then
26- docker rmi -f $imageId
27- fi
28- }
29- cleanupDocker
19+ cleanupDocker $dockerName
3020
3121# 新建一个临时目录,用来放对应的Dockerfile来构建镜像
3222tempDockerDir=" temp_docker_build_$ngVersion "
4939
5040# 基于创建的镜像,启动一个容器。同时将服务器上的 AWADE_BUILD_RESOURCE 目录挂载到容器中,方便获取编译资源
5141docker run -v $AWADE_BUILD_RESOURCE :/data/awade-build/resource --name $dockerName ${imageId} &
52- timeout=0
53- while true ; do
54- status=$( docker inspect $dockerName --format ' {{.State.Status}}' )
55- echo " $dockerName : 当前容器状态 >>>>>> status: $status "
56- if [ " $status " = " running" ]; then
57- break
58- fi
59- sleep 3
60- timeout=$(( timeout + 3 ))
61- if [ $timeout -ge 60 ]; then
62- echo " $dockerName : 容器启动超时(60秒),当前状态: $status "
63- exit 1
64- fi
65- done
42+ waitDockerStatus $dockerName
6643
6744containerId=$( docker ps -a | grep $dockerName | awk {' print $1' })
6845echo " $dockerName : containerId >>>>>>>>>> $containerId ..."
6946if [ -z " $containerId " ]; then
7047 echo " $dockerName : 未发现编译容器"
71- cleanupDocker
48+ cleanupDocker $dockerName
7249 exit 1
7350fi
7451
7552exitCode=$( docker wait $dockerName )
7653echo " $dockerName : docker wait >>>>>>>>>> exitCode: $exitCode "
77- docker cp $containerId :/data/build/build-in-docker-$ngVersion .log .
7854if [ " $exitCode " != " 0" ]; then
79- cleanupDocker
55+ cleanupDocker $dockerName
8056 exit $exitCode
8157fi
8258
59+ docker cp $containerId :/data/build/build-in-docker-$ngVersion .log .
8360if [ " $ngVersion " = " ng9" ]; then
84- cleanupDocker
61+ cleanupDocker $dockerName
8562 exit 0
8663fi
8764
@@ -91,8 +68,8 @@ echo "$dockerName: cp dist from $containerId ..."
9168docker cp $containerId :/data/build/dist .
9269if [ " $? " != " 0" ]; then
9370 echo " $dockerName : Error: docker cp $containerId :/data/build/dist ."
94- cleanupDocker
71+ cleanupDocker $dockerName
9572 exit 1
9673fi
9774
98- cleanupDocker
75+ cleanupDocker $dockerName
0 commit comments