CI 持续集成
前提说明: 这里的jenkins和gitlab是通过容器的方式运行的
容器名以及映射端口说明
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3d4e4130711 jenkinsci/blueocean "/sbin/tini -- /usr/…" 5 hours ago Up 5 hours 50000/tcp, 0.0.0.0:9980->8080/tcp auto-cmdb_jenkins_1
e2d756a51051 gitlab/gitlab-ce:latest "/assets/wrapper" 5 hours ago Up 5 hours (healthy) 22/tcp, 443/tcp, 0.0.0.0:9280->80/tcp auto-cmdb_gitlab_1
基本流程:
1、将物理机的公钥上传到gitlab服务器上
2、将本地项目上传到gitlab服务器上
3、将jenkins的服务器的公钥上传到gitlab服务器上
4、开始部署jenkins任务
5、gitlab上配置webhook(钩子)
一、将物理机的公钥上传到gitlab服务器上
物理机生成公钥
ssh-keygen
cat ~/.ssh/id_rsa.pub
传递公钥
Screenshot of User Settings · GitLab.jpg Screenshot of SSH Keys · User Settings · GitLab.jpg二、将本地项目上传到gitlab服务器上
Screenshot of Administrator _ auto_cmdb · GitLab.jpg克隆gitlab上的项目
git clone git@172.31.0.3:root/auto_cmdb.git
# 注意 这里克隆的目标是gitlab服务器的22端口
# 因为gitlab默认端口为SSH端口
# 这里由于没有对gitlab服务器的 22端口进行映射, 所以我们只能用容器的ip来拉取项目
mv project .
git add .
git commit -m '提交项目'
git push origin -u root master
三、将jenkins上的公钥传递给gitlab服务器
[jenkins服务器] ssh-keygen
和流程一步骤类似
四、部署jenkins
Screenshot of Dashboard [Jenkins].jpg Screenshot of New Item [Jenkins].jpg Screenshot of task_name Config [Jenkins].jpg可以看到 我们这里还有很多内容, 这里的内容我们暂时先不讨论
Screenshot of task_name Config [Jenkins] (1).jpg
Screenshot of task_name Config [Jenkins] (2).jpg Screenshot of task_name Config [Jenkins] (3).jpg
配置到这里就可以了, 如果想继续配置的可以自己配置
5、gitlab上配置webhook(钩子)
Screenshot of Integrations · Settings · Administrator _ auto_cmdb · GitLab.jpg Screenshot of task_name Config [Jenkins] (4).jpgScreenshot of Integrations · Settings · Administrator _ auto_cmdb · GitLab (1).jpg
Screenshot of Integrations · Settings · Administrator _ auto_cmdb · GitLab (2).jpg
测试 返回200即可
网友评论