美文网首页
jenkins脚本

jenkins脚本

作者: 三个程序员之一 | 来源:发表于2023-10-24 16:40 被阅读0次
export GIT_HOME=/APP/git
export PATH=$GIT_HOME/bin:$PATH

cd /data/gitprogram/markor-pca/pca-common

git checkout $profiles

git checkout .

git pull

cd ./script/docker

chmod +x build.sh

./build.sh $profiles pca install

echo "PCA项目 pca-common 编译安装成功!"


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

#!/bin/bash

export JAVA_HOME=/APP/java/jdk1.8.0_271
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export M2_HOME=/APP/maven/maven-3.6.3
export NODE_HOME=/APP/nodejs/node-14.15
export GIT_HOME=/APP/git
export PATH=$M2_HOME/bin:$JAVA_HOME/bin:$NODE_HOME/bin:$GIT_HOME/bin:$PATH

export GITPRO_HOME=/data/gitprogram/markor-pca
export PCA_HOME=$GITPRO_HOME/pca-common

echo "################## building start !#######################################"

PCA_ENV=$1

if [ -z "$PCA_ENV" ];then
   echo "pca env is null!"
fi


if [ -n "$PCA_ENV" ];then

   if [ "$2" = "pca" ]
   then

       cd $PCA_HOME

       if [ "$1" = "dev" ];then

           echo "################## dev #######################"
           git checkout develop

       elif [ "$1" = "test" ];then

           echo "################## test #######################"
           git checkout test

       elif [ "$1" = "prod" ];then

           echo "################## prod #######################"
           git checkout prod
       else
           echo "################## env error ! #######################"
       fi

       echo "################## git pull start ! #######################"
       git checkout .
       git pull
       echo "################## git pull end ! #######################"

       echo "################## image building start ! #######################"

       if [ "$3" = "install" ];then

              mvn clean package install -DskipTests
       fi

       if [ "$3" = "basic" ];then

           cd blade-ops

           if [ "$4" = "" ];then

               cd $PCA_HOME/blade-ops/blade-admin && mvn clean package -DskipTests docker:build -P $1
               cd $PCA_HOME/blade-ops/blade-log && mvn clean package -DskipTests docker:build -P $1
               cd $PCA_HOME/blade-ops/blade-resource && mvn clean package -DskipTests docker:build -P $1
               cd $PCA_HOME/blade-ops/blade-sap && mvn clean package -DskipTests docker:build -P $1

           else

               cd $4 && mvn clean package -DskipTests docker:build -P $1
           fi

       elif [ "$3" = "business" ];then

           cd blade-service

           if [ "$4" = "" ];then

               cd $PCA_HOME/blade-service/blade-desk && mvn clean package -DskipTests docker:build -P $1
               cd $PCA_HOME/blade-service/blade-system && mvn clean package -DskipTests docker:build -P $1
               cd $PCA_HOME/blade-service/blade-user && mvn clean package -DskipTests docker:build -P $1

           else

               cd $4 && mvn clean package -DskipTests docker:build -P $1
           fi

       elif [ "$3" = "management" ];then

           cd blade-ops

           if [ "$4" = "" ];then

               cd $PCA_HOME/blade-ops/blade-admin && mvn clean package -DskipTests docker:build -P $1

           else

               cd $4 && mvn clean package -DskipTests docker:build -P $1
           fi

       elif [ "$3" = "plugin" ];then

           cd blade-plugin

           if [ "$4" = "" ];then

               cd $PCA_HOME/blade-plugin/blade-workflow && mvn clean package -DskipTests docker:build -P $1

           else

               cd $4 && mvn clean package -DskipTests docker:build -P $1
           fi

       elif [ "$3" = "" ];then

           cd $PCA_HOME/blade-auth && mvn clean package -DskipTests docker:build -P $1
           cd $PCA_HOME/blade-gateway && mvn clean package -DskipTests docker:build -P $1

           cd $PCA_HOME/blade-ops/blade-admin && mvn clean package -DskipTests docker:build -P $1
           cd $PCA_HOME/blade-ops/blade-log && mvn clean package -DskipTests docker:build -P $1
           cd $PCA_HOME/blade-ops/blade-resource && mvn clean package -DskipTests docker:build -P $1
           cd $PCA_HOME/blade-ops/blade-sap && mvn clean package -DskipTests docker:build -P $1

           cd $PCA_HOME/blade-service/blade-desk && mvn clean package -DskipTests docker:build -P $1
           cd $PCA_HOME/blade-service/blade-system && mvn clean package -DskipTests docker:build -P $1
           cd $PCA_HOME/blade-service/blade-user && mvn clean package -DskipTests docker:build -P $1

       else

           cd $3 && mvn clean package -DskipTests docker:build -P $1
       fi

       echo "################## image building end ! #######################"

   else
       echo "docker build error!"
   fi

fi

后端dockerfile 但是 配置 spring.profiles.active=prod的时候 一定要使用 spring_profiles_active=prod
因为dockerfile 不使用CMD [ ] 这种方式 java命令中的点会和环境变量中的点冲突所以换成下横杠

FROM openjdk:8-jre

MAINTAINER wangjie <wangjie@markorhome.com>

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ADD pca-datadict.jar /app/

ADD skywalking-agent /app
ENV SKYWALKING_SERVICE=oap:11800
ENV AGENT_NAME=/app/skywalking-agent.jar
ENV SERVICE_NAME=pca-datadict
ENV JAVA_OPTS='-Xms1024m -Xmx1024m -Xss512k -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8'

CMD java -javaagent:$AGENT_NAME \
-Dskywalking.agent.service_name=$SERVICE_NAME \
-Dskywalking.collector.backend_service=$SKYWALKING_SERVICE \
$JAVA_OPTS -jar /app/pca-datadict.jar

##CMD ["java", "-Xmx512m", "-Xms512m", "-Xmn128m", "-Djava.security.egd=file:/dev/./urandom", "-Duser.timezone=Asia/Shanghai", "-Dfile.encoding=UTF-8", "-jar", "/app/pca-datadict.jar"]

EXPOSE 8201

前端

jenkins shell
export NODE_HOME=/APP/nodejs/node-14.15
export GIT_HOME=/APP/git
export PATH=$NODE_HOME/bin:$GIT_HOME/bin:$PATH

cd /data/gitprogram/markor-pca/pca-biz-ui
git checkout $profiles
git checkout .
git pull
cd ./docker
chmod +x build.sh
./build.sh $profiles

build.sh 脚本
#!/bin/bash

PCA_VERSION=`date +%Y%m%d%H%m`

echo "#########################################################"
echo "pca-biz-ui build starting! current version -> $PCA_VERSION"

PCA_ENV=$1
PROGRAM_NAME=pca-biz-ui
REGISTRY_URI=10.5.2.188:5001

DOCKERFILE_NAME=Dockerfile_$PCA_ENV
IMAGE_NAME=$PROGRAM_NAME-$PCA_ENV:$PCA_VERSION
TAG_IMAGE_NAME=$REGISTRY_URI/$IMAGE_NAME

if [ -z "$PCA_ENV" ]
then
   echo "pca env is null!"
fi

if [ -n "$PCA_ENV" ]
then

   yarn install

   yarn build:$PCA_ENV

   docker build -t $IMAGE_NAME -f ./$DOCKERFILE_NAME .

   docker login -uadmin -padmin123 10.5.2.188:5001

   docker tag $IMAGE_NAME $TAG_IMAGE_NAME

   docker push $TAG_IMAGE_NAME

   docker logout
fi






dockerfile
FROM nginx

MAINTAINER wangjie <wangjie@markorhome.com>

ADD ./nginx/default_prod.conf /etc/nginx/conf.d/

RUN rm /etc/nginx/conf.d/default.conf

RUN mv /etc/nginx/conf.d/default_prod.conf /etc/nginx/conf.d/default.conf

RUN rm /etc/nginx/nginx.conf

ADD ./nginx/nginx.conf /etc/nginx/

COPY ./dist/ /usr/share/nginx/html/


相关文章

网友评论

      本文标题:jenkins脚本

      本文链接:https://www.haomeiwen.com/subject/tkusidtx.html