目录
环境
Gitlab节点:192.168.253.110 Jenkins节点:192.168.253.130
测试环境我就用两台服务器了,项目我放在jenkins这台服务器上。系统版本是centos 7.5的。
安装Gitlab
嗨!Gitlab的安装往这看 ~~> Docker搭建公司内部私有云平台 -- Gitlab
[root@gitlab ~]# docker run -it -d --name gitbab -p 80:80 docker.io/gitlab/gitlab-ce
674e5e8a3e35cb2ec95c385e7130082e1fef0d55494b953b7bd88d039473683c
安装Jenkins
当然安装Jenkins的教程这里也有 ~~> Jenkins的安装及中文展示 ,不过这里我想自己动手再操作一遍。
1)下载java环境,上传jenkins包
[root@jenkins ~]# yum -y install java-1.8.0 lrzsz java环境
[root@jenkins ~]# ls
jenkins-2.222.4-1.1.noarch.rpm 我用的是这个版本
2)安装并启动jenkins
[root@jenkins ~]# rpm -ivh jenkins-2.222.4-1.1.noarch.rpm
警告:jenkins-2.222.4-1.1.noarch.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID d50582e6: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:jenkins-2.222.4-1.1 ################################# [100%]
[root@jenkins ~]# systemctl start jenkins
[root@jenkins ~]# setenforce 0
[root@jenkins ~]# systemctl stop firewalld
3)浏览器http:ip + 8080 进行访问
[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
252fd6734a17467684cce9591eba7229
4)配置下载插件加速(默认的插件下载源在国外,下载特别慢)
[root@jenkins ~]# vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> #改为国内的网站
</site>
</sites>
[root@jenkins ~]# cd /var/lib/jenkins/updates/
[root@jenkins updates]# sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
[root@jenkins updates]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
[root@jenkins ~]# systemctl restart jenkins
5)下载中文插件
重启即可!!
Jenkins和Gitlab的结合
1)我们在Gitlab上创建一个项目用来存放我们的代码
2)我们克隆项目仓库到本地,测试是否可以克隆。
在windows上创建一个空目录,用来存放项目仓库 解释一下:
这里我的git是windows版本的 ~~> 这是windows版的包 , Linux版的git ~~> 在这里
我在桌面新建的目录,用来放项目
注:首次克隆会提示输入gitlab的登录的账号和密码
3)查看是否成功
4)在项目中上传一行代码做测试(我新建了一个txt文件)
5)做本地提交,把代码提交到gitlab中wordpress项目中
6)在wordpress的这个项目中看是否成功
开始整合Jenkins
1)在jenkins节点安装git插件和git环境
[root@jenkins ~]# yum -y install git
1.1)web端安装git插件
2)在Jenkins创建任务
配置gitlab的项目仓库的URL地址和登录gitlab的账号密码,填写完毕后保存
3)开始构建任务
3.1)点击这次构建任务,查看控制台输出
!!此时的Jenkins和Gitlab就结合成功了
Docker部署LNMP
解释一下:这里我的项目是wordpress,需要用到Lnmp的环境。
1)自己构建lnmp的docker镜像,这里有构建镜像的包 ~~> 点我点我
[root@jenkins ~]# tar xzf lnmp.tar.gz
[root@jenkins ~]# cd lnmp
[root@jenkins lnmp]# docker build -t lnmp .
[root@jenkins ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lnmp latest 57e3c3e09aab 9 seconds ago 443 MB
docker.io/centos latest 0d120b6ccaa8 7 weeks ago 215 MB
2)启动一个lnmp的容器
[root@jenkins ~]# docker run --name wordpress -itd -p 81:80 -v /opt/html/:/usr/local/nginx/html lnmp
1e62d99e01c2c20b4e529afffc01e11dea54e7e2d1a2f80333a3b1c99589390a
[root@jenkins ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1e62d99e01c2 lnmp "/usr/bin/supervis..." 6 seconds ago Up 6 seconds 0.0.0.0:81->80/tcp wordpress
Jenkins配置通过ssh发送文件到LNMP主机
1)jenkins上需要安装Publish Over SSH插件,通过此插件jenkins可以把工作空间的文件发送到远程主机上
2)配置插件,添加远程主机,将LAMP主机添加进来
3)到首页,去配置任务
!! 至此任务配置完毕!执行任务就会自动发送文件到远程主机了
推送项目到Gitlab
解释一下:这里我项目上的博客,当然也可以上其他的。
1)在电脑上解压安装包,复制包内容粘贴到本地仓库
2)对本地仓库进行提交,推送到Gitlab上
3)查看gitlab是否推送成功
执行Jenkins构建任务实现自动发布
1)构建任务
2)在控制台查看是否构建成功
访问项目web端
1)浏览器输入http:// + ip + 81
总结
费了一天的时间做了这个出来,感觉还不错,这里我用的项目是博客,伙伴们也可以用其他的项目,写作不易啊!!