- 项目docker配置结构
- jenkins执行脚本
jenkins 需要执行的脚本
clean
package
-Dmaven.test.skip=true
#!/bin/bash -ilex
serverName="xxx"
serverNamePom="xxx"
date=$(date "+%Y%m%d%H%M")
imageID=$(docker images | grep $serverName | awk '{print $3}')
if [ -n "$imageID" ]; then
docker rmi -f ${imageID:0:12}
fi
docker build -f $serverNamePom/src/main/docker/Dockerfile -t $serverName:$date .
docker tag $serverName:$date harbortest.xx.com/xx/$serverName:$date
docker login -u user -p password harbortest.xxxx.com/xxx-xm
docker push harbortest.xxxx.com/xxx-xm/$serverName:$date
kubectl config use-context k8scontest--xx
kubectl -n namespace apply -f ./$serverNamePom/src/main/docker/$serverName.yaml --record
kubectl -n namespace set image deployment/$serverName $serverName=harbortest.xxxx.com/xxx-xm/$serverName:$date
镜像用时间打的tag,并删除了配置机中之前的镜像版本;
- jenkins,kubectl的配置可见百度
- nexus maven私服需要挂载:docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/nexus-data --restart=always
- k8s的编排文件;