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/