Jenkins
演示环境 App 脚本备份
echo "定义环境变量"
echo "workspace:" $WORKSPACE
echo "git_url:" $GIT_URL
GIT_VERSION=`git log |head -1 |awk '{print $2}'`
BUILD_TIME=`date +%s`
echo "++++++++++ 开始构建 [2] portal-pc-1.3.0-SNAPSHOT.war ++++++++++"
echo "进入 portal-pc 工作目录 ..."
cd $WORKSPACE
cp Dockerfile docker-compose.yml ./portal/portal-ui/portal-pc/target/
cd ./portal/portal-ui/portal-pc/target/
echo "替换 Dockerfile 软件包名 ..."
SOFT_NAME=`ls *.war`
sed -i "s/WAR/$SOFT_NAME/g" Dockerfile
echo "打包镜像"
sudo docker build -t registry:5000/bigtree/ys/app/portal-pc:$BUILD_TIME-$GIT_VERSION .
echo "推送镜像到 Registry"
sudo docker push registry:5000/bigtree/ys/app/portal-pc:$BUILD_TIME-$GIT_VERSION
echo "替换docker-compose.yml中image名称为当前版本"
sed -i "s/IMAGENAME/registry\:5000\/bigtree\/ys\/app\/portal\-pc\:$BUILD_TIME\-$GIT_VERSION/g" docker-compose.yml
sed -i "s/9010/7020\:9010/g" docker-compose.yml
cat docker-compose.yml
## 部署到Docker主机
scp $WORKSPACE/portal/portal-ui/portal-pc/target/docker-compose.yml root@yanshi:/opt/deploy/run/2
ssh root@yanshi "cd /opt/deploy/run/2;docker-compose up -d"
echo "++++++++++ 开始构建 [3] portal-pc.war ++++++++++"
echo "进入 portal-web 工作目录 ..."
cd $WORKSPACE
cp Dockerfile docker-compose.yml ./portal/portal-web/target/
cd ./portal/portal-web/target/
echo "替换 Dockerfile 软件包名 ..."
SOFT_NAME=`ls *.war`
sed -i "s/WAR/$SOFT_NAME/g" Dockerfile
echo "打包镜像"
sudo docker build -t registry:5000/bigtree/ys/app/portal-web:$BUILD_TIME-$GIT_VERSION .
echo "推送镜像到 Registry"
sudo docker push registry:5000/bigtree/ys/app/portal-web:$BUILD_TIME-$GIT_VERSION
echo "替换docker-compose.yml中image名称为当前版本"
sed -i "s/IMAGENAME/registry\:5000\/bigtree\/ys\/app\/portal\-web\:$BUILD_TIME\-$GIT_VERSION/g" docker-compose.yml
sed -i "s/9010/7030\:9010/g" docker-compose.yml
cat docker-compose.yml
## 部署到Docker主机
scp $WORKSPACE/portal/portal-web/target/docker-compose.yml root@yanshi:/opt/deploy/run/3
ssh root@yanshi "cd /opt/deploy/run/3;docker-compose up -d"
echo "++++++++++ 开始构建 [4] scf-pc-1.3.0-SNAPSHOT.war ++++++++++"
echo "进入 scf-pc 工作目录 ..."
cd $WORKSPACE
cp Dockerfile docker-compose.yml ./scf/scf-ui/scf-pc/target/
cd ./scf/scf-ui/scf-pc/target/
echo "替换 Dockerfile 软件包名 ..."
SOFT_NAME=`ls *.war`
sed -i "s/WAR/$SOFT_NAME/g" Dockerfile
echo "打包镜像"
sudo docker build -t registry:5000/bigtree/ys/app/scf-pc:$BUILD_TIME-$GIT_VERSION .
echo "推送镜像到 Registry"
sudo docker push registry:5000/bigtree/ys/app/scf-pc:$BUILD_TIME-$GIT_VERSION
echo "替换docker-compose.yml中image名称为当前版本"
sed -i "s/IMAGENAME/registry\:5000\/bigtree\/ys\/app\/scf\-pc\:$BUILD_TIME\-$GIT_VERSION/g" docker-compose.yml
sed -i "s/9010/7040\:9010/g" docker-compose.yml
cat docker-compose.yml
## 部署到Docker主机
scp $WORKSPACE/scf/scf-ui/scf-pc/target/docker-compose.yml root@yanshi:/opt/deploy/run/4
ssh root@yanshi "cd /opt/deploy/run/4;docker-compose up -d"
echo "++++++++++ 开始构建 [5] scf-pc.war ++++++++++"
echo "进入 scf-web 工作目录 ..."
cd $WORKSPACE
cp Dockerfile docker-compose.yml ./scf/scf-web/target/
cd ./scf/scf-web/target/
echo "替换 Dockerfile 软件包名 ..."
sed -i "s/WAR/scf\-pc\.war/g" Dockerfile
echo "打包镜像"
sudo docker build -t registry:5000/bigtree/ys/app/scf-web:$BUILD_TIME-$GIT_VERSION .
echo "推送镜像到 Registry"
sudo docker push registry:5000/bigtree/ys/app/scf-web:$BUILD_TIME-$GIT_VERSION
echo "替换docker-compose.yml中image名称为当前版本"
sed -i "s/IMAGENAME/registry\:5000\/bigtree\/ys\/app\/scf\-web\:$BUILD_TIME\-$GIT_VERSION/g" docker-compose.yml
sed -i "s/9010/7050\:9010/g" docker-compose.yml
cat docker-compose.yml
## 部署到Docker主机
scp $WORKSPACE/scf/scf-web/target/docker-compose.yml root@yanshi:/opt/deploy/run/5
ssh root@yanshi "cd /opt/deploy/run/5;docker-compose up -d"
————————————
jenkins on k8s 部署脚本
echo "定义环境变量"
echo "workspace:" $WORKSPACE
echo "git_url:" $GIT_URL
GIT_VERSION=`git log |head -1 |awk '{print $2}'`
BUILD_TIME=`date +%s`
echo "打包镜像"
cd k8s
cp ../msdp-bat-service/target/msdp-bat-service.war ./
docker build -t registry:5000/bigtree/dubbo/service/msdp-batch:$BUILD_TIME-$GIT_VERSION .
echo "推送镜像到 Registry"
docker push registry:5000/bigtree/dubbo/service/msdp-batch:$BUILD_TIME-$GIT_VERSION
echo "替换k8s配置文件中image名称为当前版本"
sed -i "s/IMAGENAME/registry\:5000\/bigtree\/dubbo\/service\/msdp\-batch\:$BUILD_TIME\-$GIT_VERSION/g" *.yaml
sed -i 's?JDK\_PATH?'"$JDK_PATH"'?' *.yaml
ls *.yaml |xargs cat
## 部署到 k8s 集群
echo "部署到 k8s 集群 ..."
export KUBECONFIG=/bin/.kube/admin.conf
kubectl -n dev apply -f *.yaml
kubectl -n dev delete -f *.yaml
kubectl -n dev create -f *.yaml
————————————
myron