文章目录
- 一、docker git安装
- 二、jenkins使用步骤
- 创建项目
- 在jenkins主机获取密钥
- 三、实时触发构建
- 四、整合harbor仓库
一、docker git安装
git安装
yum install -y git
jenkins主机上安装docker-ce
[root@vm6 yum.repos.d]# yum install -y docker-ce
[root@vm6 ~]# systemctl enable --now docker
配置docker默认仓库
[root@vm6 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://reg.westos.org"]
}
配置仓库证书
[root@vm6 ~]# ls /etc/docker/certs.d/reg.westos.org/ca.crt
/etc/docker/certs.d/reg.westos.org/ca.crt
测试
[root@vm6 docker]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Pull complete
a0bcbecc962e: Pull complete
Digest: sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
二、jenkins使用步骤
创建项目

创建一个freestyle project
在jenkins主机获取密钥
在gitlab上传公钥

在jenkins上传私钥


vim /etc/ssh/ssh_config
在最后添加
StrictHostKeyChecking no

输入测试命令后保存

点击立即构建

查看控制台输出

工作路径
/var/lib/jenkins/workspace/docker
构建触发器,定时触发

三、实时触发构建
安装插件 gitlab和 Cloudbee docker


配置gitlab

在网络设置里

配置项目触发器



在jenkins高级里获取token


填写在令牌里

先在jenkins保存,再保存gitlab

进行测试

在本地修改上传进行测试
vim index.html
git add index.html
git commit -m "add index.html"
git push
成功触发
四、整合harbor仓库
确保仓库能使用

选择Docker构建


jenkins主机修改
chmod 777 /var/run/docker.sock
注意
这个地方我遇到重大问题

应该是无法连接harbor仓库
在jenkins主机执行
docker login reg.westos.org
会在本地生成 /root/.docker文件夹,存放登录密钥。
cp -r /root/.docker/ /var/lib/jenkins/
cd /var/lib/jenkins/
chown -R jenkins.jenkins .docker
理论上这时可以运行,但是还无法成功运行。

很明显对/var/lib/jenkins/.docker/config.json没有权限,感觉这里需要的不是读取权限,而是x执行权限。
直接
chmod 660 /var/lib/jenkins/.docker/config.json
成功运行。

















