什么是gitlab:
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
什么是Jenkins:
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
两者结合的优势:
这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮组开发团队更高效的集成和发布代码
一.gitlub的安装与配置
1.在server1安装gitlab以及其依赖性
yum install policycoreutils-python
rpm -ivh gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm
2.查看对应端口是否打开
yum install net-tools
netstat -antlp
3.编辑gitlab的配置文件,将ip修改为自己gitlab所在的ip
cd /etc/gitlab/
vim gitlab.rb
gitlab-ctl reconfigure # 重新加载
4.在gitlab中创建项目
5.为了通过ssh直接上传和拉取代码,所以需要在gitlab中做免密(在/root/.ssh/中生成公钥和私钥)
4.在物理机上使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, git://,或是只是以一个用户名(git 会认为这是一个ssh 地址)为前辍.
git clone git@172.25.1.1:root/demo.git
git remote add origin git@172.25.1.1:root/demo.git
5.在本地编辑readme文件
vim README.md
git add README.md # 将readme文件上传到暂存区
git commit -m "add README.md" # 提交readme文件到代码库
git push origin master # 同步到远端的gitlab个人仓库中
在gitlab代码库中查看刚刚上传的文件:
二.安装jenkins
1.使自己的server2虚拟机可以连接互联网
在真机中设置iptables的规则:
iptables -t nat -I POSTROUTING -s 172.25.1.0/24 -j MASQUERADE
在server1中添加路由,设置网关为自己真机的网段:
ip route add default via 172.25.1.250
vim /etc/resolv.conf
nameserver 114.114.114.114
2.在server2中安装 jdk和 jenkins:
yum install jdk-8u171-linux-x64.rpm
jenkins-2.121.3-1.1.noarch.rpm
/etc/init.d/jenkins start
- 根据页面提示去相应的文件中获取初始密码
cat /opt/jenkins/secrets/initialAdminPassword
4.安装官方推荐插件,选择 左侧 选项进行安装
大概等几分钟,进度条完成即可:
5.创建用户(密码是自己初始设定的)
确认页面:
jenkins is ready!
6..配置安装完成之后:
建立一个新的项目testjob
选择自由风格的代码:
7.点击配置:(1)源码管理:添加url添加公钥(选择ssh,在真机中查看私钥)
(2)构建触发器,选择定时构建,写上定时策略
(3)构建环境–>增加构建步骤—>执行shell ls -l
(4)保存
8.在真机中编辑文件,选择push之后,每一分钟它会刷新,会在构建名称之后选择控制台输出