公司用的k8s,经常用于微服务,一般情况下Jenkins部署。但对于未立项的项目,不能可手动部署。这里记录一下大概过程,用于自己日后查阅。
目录结构
-project
--common #公用模块
--figure #人物模块
--vehicle #车辆模块
--build #build目录
---config.tar.gz 配置文件
--build.sh
--Dockerfile
Dockerfile
#基础镜像 FROM 192.168.110.202/dts/dts-opejdk-redis:1912261142 #创建目录 ADD fds-resource-sync*.jar /opt/app/fds-resource-sync.jar #ENV JAVA_OPTS="-Dspring.profiles.active=test -Denv=fat" ENV DEFAULT_OPTS="-Dfile.encoding=UTF-8 -Duser.timezone=GMT+8 -Xmx1024m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/logs" # RUN chmod +x /usr/local/bin/docker-entrypoint.sh #ENTRYPOINT [ "sh", "-c", "java -Dspring.config.location=/opt/config/ $DEFAULT_OPTS -Djava.security.egd=file:/dev/./urandom -jar /opt/app/fds-resource-sync.jar" ] CMD sh -c './usr/local/bin/docker-entrypoint.sh && java -Dspring.config.location=/opt/config/ $DEFAULT_OPTS -Djava.security.egd=file:/dev/./urandom -jar /opt/app/fds-resource-sync.jar'
build
# maven build moduleName="fds-resource-sync" rm -rf *.jar rm -rf *.tar rm -rf config rm -rf ${moduleName}ls cd .. mvn clean package -Dmaven.test.skip -pl $moduleName -am cp $moduleName/target/${moduleName}.jar ./build/ #build docker cd build curdate="`date +%Y%m%d%H%M`" tag="`date +%y%m%d%H%M`" image=${moduleName} docker build -f Dockerfile -t ${image}:${tag} . rm -rf dts-rsrc mkdir -p ${moduleName}/images mkdir -p ${moduleName}/config docker save -o ./${moduleName}/images/${image}T${tag}.tar ${image}:${tag} docker rmi ${image}:${tag} tar -xzf config.tar.gz -C ${moduleName}/config/ --strip-components 1 sed -i 's/{IMAGE_NAME}/${image}/g' ${moduleName}/config/cluster/configPod/container.yaml sed -i 's/{IMAGE_NAME}/${image}/g' ${moduleName}/config/single/configPod/container.yaml sed -i 's/{IMAGE_TAG}/${tag}/g' ${moduleName}/config/cluster/configPod/container.yaml sed -i 's/{IMAGE_TAG}/${tag}/g' ${moduleName}/config/single/configPod/container.yaml tar -zcvf ${moduleName}T${tag}.tar.gz ${moduleName} mv ${moduleName}T${tag}.tar.gz /opt/mount/产品测试版本/0700-dts scp -r ${moduleName}T${tag}.tar.gz root@192.168.108.130:/opt/DTS/