天天看點

常用的.sh腳本

#!/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

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

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

第二個export_2.sh

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"

cp $path ./csgl/dockerfile/$1/

echo build $1 image

sh /opt/workspace/pack.sh $1

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

build.sh--用于jenkins持續內建部署

if [ $# != 3 ] && [ $# != 4 ] ;

then

  echo "usage: build.sh [app name] [port] [job port] [skywalking ip:port]"

  exit -1

#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

docker stop $1

docker rm $1

if [ $# == 4 ];

  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

docker ps

docker logs $1

.sh