gitlab+jenkins+harbor实现CI/CD(2)——初级

文章目录

  • 一、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使用步骤

创建项目

gitlab+jenkins+harbor实现CI/CD(2)——初级_第1张图片
创建一个freestyle project

在jenkins主机获取密钥

在gitlab上传公钥
gitlab+jenkins+harbor实现CI/CD(2)——初级_第2张图片
在jenkins上传私钥
gitlab+jenkins+harbor实现CI/CD(2)——初级_第3张图片
gitlab+jenkins+harbor实现CI/CD(2)——初级_第4张图片

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

gitlab+jenkins+harbor实现CI/CD(2)——初级_第5张图片
输入测试命令后保存
gitlab+jenkins+harbor实现CI/CD(2)——初级_第6张图片
点击立即构建
gitlab+jenkins+harbor实现CI/CD(2)——初级_第7张图片
查看控制台输出
gitlab+jenkins+harbor实现CI/CD(2)——初级_第8张图片
工作路径

/var/lib/jenkins/workspace/docker

构建触发器,定时触发
gitlab+jenkins+harbor实现CI/CD(2)——初级_第9张图片

三、实时触发构建

安装插件 gitlab和 Cloudbee docker
gitlab+jenkins+harbor实现CI/CD(2)——初级_第10张图片
gitlab+jenkins+harbor实现CI/CD(2)——初级_第11张图片
配置gitlab
gitlab+jenkins+harbor实现CI/CD(2)——初级_第12张图片
在网络设置里
gitlab+jenkins+harbor实现CI/CD(2)——初级_第13张图片
配置项目触发器
gitlab+jenkins+harbor实现CI/CD(2)——初级_第14张图片
gitlab+jenkins+harbor实现CI/CD(2)——初级_第15张图片
gitlab+jenkins+harbor实现CI/CD(2)——初级_第16张图片
在jenkins高级里获取token
gitlab+jenkins+harbor实现CI/CD(2)——初级_第17张图片
gitlab+jenkins+harbor实现CI/CD(2)——初级_第18张图片
填写在令牌里
gitlab+jenkins+harbor实现CI/CD(2)——初级_第19张图片

先在jenkins保存,再保存gitlab
gitlab+jenkins+harbor实现CI/CD(2)——初级_第20张图片
进行测试
gitlab+jenkins+harbor实现CI/CD(2)——初级_第21张图片
在本地修改上传进行测试

vim index.html
git add index.html
git commit  -m "add index.html"
git push

成功触发

四、整合harbor仓库

确保仓库能使用
gitlab+jenkins+harbor实现CI/CD(2)——初级_第22张图片
选择Docker构建
gitlab+jenkins+harbor实现CI/CD(2)——初级_第23张图片
gitlab+jenkins+harbor实现CI/CD(2)——初级_第24张图片

jenkins主机修改

chmod 777 /var/run/docker.sock

注意
这个地方我遇到重大问题
gitlab+jenkins+harbor实现CI/CD(2)——初级_第25张图片
应该是无法连接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

理论上这时可以运行,但是还无法成功运行。
gitlab+jenkins+harbor实现CI/CD(2)——初级_第26张图片
很明显对/var/lib/jenkins/.docker/config.json没有权限,感觉这里需要的不是读取权限,而是x执行权限。
直接

chmod 660 /var/lib/jenkins/.docker/config.json

成功运行。
在这里插入图片描述

你可能感兴趣的:(jenkins,gitlab,ci/cd)