摘要:最近在搞,把自己写的集成脚本分享出来给大家。里面很多路径或者名称是我自己的,自行替换掉。
最近在搞jenkins + docker CI,把自己写的集成脚本分享出来给大家。里面很多路径或者名称是我自己的,自行替换掉。
#!/bin/sh # Jenkins Build Shell Script # Author zdzhou@iflytek.com set -e # Get running docker image name cid=`docker ps | grep "isearch" | awk {"print $1"}` echo $cid # If exists running isearch docker image, stop and remove it if [ -n "$cid" ] then echo Get the running docker container id of isearch: $cid docker stop $cid docker rm $cid else echo There is no running isearch docker container fi # Copy target war to dest directory cd ${JENKINS_HOME}/workspace/${JOB_NAME}/itv-web/ echo Current work directory `pwd` cp target/itv-web.war /usr/local/tomcat/webapps echo Run docker image docker run -d -p 8080:8080 -v /usr/local/isearch:/usr/local/isearch -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps --name=isearch${SVN_REVISION} isearch # Wait for starting docker container totalWait=0 until [ "`/usr/bin/docker inspect -f {{.State.Running}} isearch${SVN_REVISION}`" == "true" ] do totalWait=$[ $totalWait + 2 ] if (( $totalWait > 10 )) then echo "Start docker container timeout" exit 1 fi echo "Waiting for starting docker container: $totalWait minute" sleep 2m done echo "Start docker container success " # Wait for starting tomcat totalWait=0 until [ "`curl -o /dev/null --silent -m 10 --retry 1 --connect-timeout 10 --head --write-out "%{http_code} " http://127.0.0.1:8080/itv-web/v3/videosearch/?appid=aginomoto`" = "200" ] do totalWait=$[ $totalWait + 3 ] if (($totalWait > 36 )) then echo "Start tomcat timeout" exit 1 fi echo "Wait for starting tomcat: "$totalWait" minute" sleep 3m done echo "Start tomcat service success" # Run automatic function test script echo "Start automatic function test" export LOG_HOME=${WORKSPACE}/test.log.d/${BUILD_NUMBER} cd /data/jenkins_home/test.framework.d exec ./automatic_test.sh
原文链接http://segmentfault.com/a/1190000004297705
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26490.html
摘要:集群环境的部署方式使用集群管理工具通过版本新增文件实现滚动升级容器等同于应用的部署 1. 思路&流程 Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:Jenkins 拉去远端源码 —— gitl实现应用打包 —— jenkins本地把应用程序打包进Docker镜像 ...
阅读 2508·2021-10-09 09:44
阅读 618·2019-08-30 15:44
阅读 2974·2019-08-29 18:46
阅读 1084·2019-08-29 18:38
阅读 538·2019-08-26 10:44
阅读 2414·2019-08-23 16:07
阅读 1065·2019-08-23 15:38
阅读 4023·2019-08-23 14:02