最全的ppt模板网站,微网站背景图片,免费咨询法律问题的网站,永济市做网站目录
一、实验
1.Jenkins主节点安装Docker
2.Jenkins主节点安装Harbor
3.Jenkins从节点安装Docker
4.Jenkins流水线操作Harbor仓库
二、问题
1.Jenkins主节点登录Harbor仓库报错
2.Jenkins流水线里从节点操作docker报错
3.Jenkins流水线里从节点远程登录Harbor仓库报错…目录
一、实验
1.Jenkins主节点安装Docker
2.Jenkins主节点安装Harbor
3.Jenkins从节点安装Docker
4.Jenkins流水线操作Harbor仓库
二、问题
1.Jenkins主节点登录Harbor仓库报错
2.Jenkins流水线里从节点操作docker报错
3.Jenkins流水线里从节点远程登录Harbor仓库报错 一、实验
1.Jenkins主节点安装Docker
1YUM安装Docker
目前 Docker 只能支持 64 位系统。
#关闭防火墙和selinuxsystemctl stop firewalld.servicesetenforce 0#安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2 --------------------------------------------------------------------------------------------#yum-utils提供了 yum-config-manager 工具。#device mapper 是Linux内核中支持逻辑卷管理的通用设备映射机制它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。--------------------------------------------------------------------------------------------#设置阿里云镜像源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #安装 Docker-CE并设置为开机自动启动yum install -y docker-ce #docker-ce-cli、containerd.io 会作为依赖包被安装systemctl start docker.servicesystemctl enable docker.service (2) 查看Docker信息 #查看 docker 版本信息docker version#注意Yum安装默认安装最新版本目前最新版本是24.0.7版本。#docker信息查看docker info 3 镜像加速下载
浏览器访问 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置mkdir -p /etc/dockertee /etc/docker/daemon.json -EOF{registry-mirrors: [https://XXXXXXXX.mirror.aliyuncs.com] #写入自己的加速器地址}EOFsystemctl daemon-reload #重新加载systemctl restart docker #重启dockerdocker info #查看是否启用了镜像加速2.Jenkins主节点安装Harbor
1安装
#上传 docker-compose 和 harbor-offline-installer-v1.2.2.tgz 到 /opt 目录中
cd /opt
chmod x docker-compose
mv docker-compose /usr/local/bin/#部署 Harbor 服务
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/vim 5 /usr/local/harbor/harbor.cfg
--5行--修改设置为Harbor服务器的IP地址或者域名
hostname 192.168.204.15cd /usr/local/harbor/
./install.sh2登录harbor创建项目
#在 Harbor 中创建一个新项目
1浏览器访问http://192.168.204.15 登录 Harbor WEB UI 界面默认的管理员用户名和密码是 admin/Harbor12345
2输入用户名和密码登录界面后可以创建一个新项目。点击“项目”按钮
3填写项目名称为“devops03”点击“确定”按钮创建新项目 (3) 登录Harbor仓库上传镜像
# docker login -u admin -p Harbor12345 http://192.168.204.15# docker pull maven# docker tag maven:latest 192.168.204.15/devops03/devops03-maven-service:1.9.1# docker push 192.168.204.15/devops03/devops03-maven-service:1.9.1 3.Jenkins从节点安装Docker
1YUM安装Docker
目前 Docker 只能支持 64 位系统。
#关闭防火墙和selinuxsystemctl stop firewalld.servicesetenforce 0#安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2 --------------------------------------------------------------------------------------------#yum-utils提供了 yum-config-manager 工具。#device mapper 是Linux内核中支持逻辑卷管理的通用设备映射机制它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。--------------------------------------------------------------------------------------------#设置阿里云镜像源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #安装 Docker-CE并设置为开机自动启动yum install -y docker-ce #docker-ce-cli、containerd.io 会作为依赖包被安装systemctl start docker.servicesystemctl enable docker.service (2) 查看Docker信息 #查看 docker 版本信息docker version#注意Yum安装默认安装最新版本目前最新版本是24.0.7版本。 3 镜像加速下载
浏览器访问 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置mkdir -p /etc/dockertee /etc/docker/daemon.json -EOF{registry-mirrors: [https://XXXXXXXX.mirror.aliyuncs.com] ,insecure-registries: [http://192.168.204.15]}EOFsystemctl daemon-reload #重新加载systemctl restart docker #重启dockerdocker info #查看是否启用了镜像加速指定私有镜像仓库地址 4.Jenkins流水线操作Harbor仓库
1GitLab的maven项目添加Dockerfile (2) 修改Jenkins流水线代码在回放中运行
Library(mylibmaster) _
import org.devops.*def checkout new Checkout()
def build new Build()
def unittest new UnitTest()
def sonar new Sonar()pipeline {agent { label build}options {skipDefaultCheckout true}stages{stage(Checkout){steps{script {println(GetCode)checkout.GetCode(${env.srcUrl},${env.branchName})}}}stage(build){steps{script{println(Build)sh mvn clean package}}}stage(UnitTest){steps{script{println(Test)unittest.CodeTest(${env.buildTool})}}}// stage(Upload){// steps{// script{// NexusUploadByPlugin(${env.artifactId},// target/maven-test-1.0-SNAPSHOT.jar,// ${env.type},// ${env.groupId},// ${env.version})// }// }// }stage(DockerBuild){steps{script{sh #登录镜像仓库docker login -u admin -p Harbor12345 192.168.204.15#构建镜像docker build -t 192.168.204.15/${JOB_NAME}:${env.branchName} .#上传镜像docker push 192.168.204.15/${JOB_NAME}:${env.branchName}#删除镜像sleep 2docker rmi 192.168.204.15/${JOB_NAME}:${env.branchName}}}}}
}//NexusUploadByPlugin(devops-test,target/maven-test-1.0-SNAPSHOT.jar,jar,com.jenkins,1.1.2)def NexusUploadByPlugin(artifactId,file,type,groupId,version ){nexusArtifactUploader artifacts: [[artifactId: artifactId,classifier: ,file: file,type: type]],credentialsId: 318df1ad-083b-4158-ac88-2f584446563e,groupId: groupId,nexusUrl: 192.168.204.13:8081,nexusVersion: nexus3,protocol: http,repository: mymavenrepo,version: version
} 3Blue Ocean 查看 4查看日志 5查看Harbor 二、问题
1.Jenkins主节点登录Harbor仓库报错
1报错 2原因分析
为Docker Registry 交互默认使用的是 HTTPS但是搭建私有镜像默认使用的是 HTTP 服务所以与私有镜像交互时出现错误。
3解决方法 解决方法
1在 Docker server 启动的时候增加启动参数默认使用 HTTP 访问。
vim /usr/lib/systemd/system/docker.service --13行--修改为
ExecStart/usr/bin/dockerd -H fd:// --insecure-registry 192.168.204.15 --containerd/run/containerd/containerd.sock2或者修改为
ExecStart/usr/bin/dockerd --insecure-registry 192.168.204.153重新加载system并重启docker
systemctl daemon-reload
systemctl restart docker.service 成功 2.Jenkins流水线里从节点操作docker报错
1报错
[Pipeline] shdocker login -u admin -p Harbor12345 192.168.204.15
/opt/jenkins03/workspace/devops03/devops03-maven-servicetmp/durable-8e4804f6/script.sh:行3: docker: 未找到命令 2原因分析
Jenkins从节点未安装docker
3解决方法
从节点安装docker 3.Jenkins流水线里从节点远程登录Harbor仓库报错
1报错
操作都是在 Harbor 服务器本地操作没有问题。如果其他客户端登录到 Harbor就会报如下错误。
[Pipeline] shdocker login -u admin -p Harbor12345 192.168.204.15
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://192.168.204.15/v2/: dial tcp 192.168.204.15:443: connect: connection refused 2原因分析
出现这问题的原因为Docker Registry 交互默认使用的是 HTTPS但是搭建私有镜像默认使用的是 HTTP 服务所以与私有镜像交互时出现以下错误。
3解决方法
方法一解决办法是在 Docker server 启动的时候增加启动参数默认使用 HTTP 访问。
vim /usr/lib/systemd/system/docker.service
--13行--修改
ExecStart/usr/bin/dockerd -H fd:// --insecure-registry 192.168.204.15 --containerd/run/containerd/containerd.sock
或
ExecStart/usr/bin/dockerd --insecure-registry 192.168.204.15
重启 Docker再次登录
systemctl daemon-reload
systemctl restart docker
方法二
创建daemon.json文件添加配置。
vim /etc/docker/daemon.json {registry-mirrors: [https://XXXXXXXX.mirror.aliyuncs.com] ,insecure-registries: [http://192.168.204.15]} 重启 Docker再次登录
systemctl daemon-reload
systemctl restart docker