架构图
原理讲解
部署讲解
构建
自定义镜像
在Jenkins中配置类似如下内容(注意顺序:配置在构建的后面)
构建后操作
通过Jenkins“构建后操作”调用“send build artifacts over SSH”进行部署。部署脚本如下
# 必要的5个参数(按需替换)
horbar_addr=$1
horbar_repo=$2 # horbar目录
project=$3
version=$4
port=$5 # 实际需要两个port,一个宿主机的、一个容器的
# 构造镜像名称
imageName=$horbar_addr/$horbar_repo/$project:$version
# 如果有已经运行的容器,则删除
containerId=`docker ps -a | grep ${project}| awk '{print $1}'`
if [ "$containerId" != "" ] ; then
docker stop $containerId
docker rm $containerId
fi
# 如果有已经存在的镜像,则删除
tag=`docker images | grep ${project}| awk '{print s2}'`
if [[ "$tag" =~ "version" ]]; then
docker rmi $imageName
fi
# 将新镜像拉下来
docker login -u admin -p Harbor12345 $horbar_addr
docker pull $imageName
# 运行新容器
docker run -d -p $port:$port --name $project $imageName
echo "SUCCESS"
使用Jenkins的pipline模式进行构建等操作
pipline操作和K8S部署yaml文件一起放到git上
K8S master中要设置Jenkins无密码登录
可集成的组件
代码质量检测:SonarQube 视频