菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
310
0

常用的.sh脚本

原创
05/13 14:22
阅读数 81763

#!/bin/sh

source /root/.bash_profile
cd /opt/workspace/$1
app=$1-app
mvn clean compile package -DskipTests -P prd
cd $app
docker image rmi softace/$1:1.0.0-SNAPSHOT
mvn dockerfile:build -Ddockerfile.build.pullNewerImage=false
docker images

================================================

 

第一个export_1.sh

#!/bin/sh

function exists(){
  ec=`docker images |grep $1 |wc -l`
  if [ "$ec" -eq 1 ];then
    echo true
  else
    echo false
  fi
}

if [ ! -d "./csgl" ];then
  echo "mkdir csgl"
  mkdir -p ./csgl/image
  mkdir -p ./csgl/dockerfile
fi

echo export $1 image

e=$(exists $1)
if [ $e = true ];then
  image=`docker images |grep $1 |awk '{print $1":"$2}'`
  docker save $image -o ./csgl/image/$1.tar
fi

==================================================================

第二个export_2.sh

#!/bin/sh

function exists(){
  ec=`docker images |grep $1 |wc -l`
  if [ "$ec" -eq 1 ];then
    echo true
  else
    echo false
  fi
}

if [ ! -d "./csgl" ];then
  echo "mkdir csgl"
  mkdir -p ./csgl/image
  mkdir -p ./csgl/dockerfile
fi

echo copy $1 dockerfile

path=`find . -name "Dockerfile" |grep -v target|grep -v dockerfile |grep $1`
if [ ! -d "./csgl/dockerfile/$1" ];then
  mkdir -p "./csgl/dockerfile/$1"
fi
cp $path ./csgl/dockerfile/$1/

echo build $1 image
sh /opt/workspace/pack.sh $1

echo export $1 image

e=$(exists $1)
if [ $e = true ];then
  image=`docker images |grep $1 |awk '{print $1":"$2}'`
  docker save $image -o ./csgl/image/$1.tar
fi

 

==============================================================

build.sh--用于jenkins持续集成部署

#!/bin/sh

if [ $# != 3 ] && [ $# != 4 ] ;
then
  echo "usage: build.sh [app name] [port] [job port] [skywalking ip:port]"
  exit -1
fi

source /root/.bash_profile
cd /opt/workspace/$1
app=$1-app
#git reset --hard
#git pull
rm -rf /root/.m2/repository/io/softace/utp
sed -i 's/#eureka.instance.ip-address/eureka.instance.ip-address/' $app/src/main/resources/application-dev.properties
mvn clean compile package -DskipTests -P sit
cd $app
docker stop $1
docker rm $1
docker image rmi softace/$1:1.0.0-SNAPSHOT
mvn dockerfile:build -Ddockerfile.build.pullNewerImage=false
docker images
if [ $# == 4 ];
then
  docker run -e SW_AGENT_COLLECTOR_BACKEND_SERVICES=$4 -v /etc/localtime:/etc/localtime -d --name $1 -p $2:$2 -p $3:$3 softace/$1:1.0.0-SNAPSHOT
else
  docker run -e SW_AGENT_COLLECTOR_BACKEND_SERVICES=$3 -v /etc/localtime:/etc/localtime  -d --name $1 -p $2:$2 softace/$1:1.0.0-SNAPSHOT
fi
docker ps
docker logs $1

发表评论

0/200
310 点赞
0 评论
收藏