Gitlab+jenkins+Docker+lamp完成wordpress的自动上线
环境准备:
如果笔记本性能可以的话可以准备3个虚拟机!角色如下:
gitlab节点
jenkins节点
lamp节点
我这里用的是两个虚拟机来实现的!ip规划如下:
192.168.189.171: gitlab节点
192.168.189.173:jenkins节点
192.168.189.171:lamp节点
规划好后开始搭建
安装gitlab
节点:192.168.189.171
配置内存建议调到4G,如果内存紧张也可以调到2G
检查主机docker环境是否正常,如没有请自行安装,并配置镜像拉取加速!
docker版本
加速
上传gitlab离线镜像并导入
解压并导入镜像
查看镜像是否导入:
创建gitlab容器:
创建成功后等待内存使用到60%时就差不都启动了!耐心等待
访问gitlab
首次访问需要设置默认管理员账号:root的登录密码,8位数
设置完毕后使用root用户和新密码登录即可
登录成功后界面如下:
至此gitlab搭建完毕
###################################
安装jenkins
节点:192.168.189.173
配置建议给到2G,如果内存紧张可以调到1G
上传jenkins和jdk安装包到服务器
安装这两个安装包
关闭防火墙:
启动jenkins
浏览器访问jenkins,jenkins默认监听端口为:8080
找到安装的密码:
输入密码继续安装
插件选择右边的选择插件安装,我们选择,无
我们什么插件也不安装!
选择完毕后,管理员创建一个,密码记好了!登录成功后界面如下!
如若没有汉化的可以安装汉化的插件!不过默认是去jenkins.io下载插件的,速度会比较慢! 可以执行jenkinx_update.sh脚本
执行完毕重启jenkins,这样jenkins将会去清华大学开源镜像站下载插件,速度会快很多!
jenkins至此安装完毕!
结合jenkins和gitlab
我们在gitlab上创建一个项目,用来存放我们的代码
输入项目的名称
项目仓库创建成功后如下!
我们克隆项目仓库到本地!测试是否可以克隆!在windows上创建一个空目录!用来存放项目仓库!
打开git bash 开始克隆项目
将gitlab仓库中的这些命令都复制粘贴 执行一下,可以实现配置用户和克隆版本库
首次克隆会提示输入gitlab的登录的账号和密码
输入之前gitlab设置的root账号和密码即可
成功后会在当前目录生成一个我项目名一样的目录
我们上传一代码文件到gitlab,做测试!
在项目目录中新建一个1.txt
做本地提交
按图片顺序操作
在wordpress项目中可以看到1.txt文件
OK 项目仓库准备完毕
开始整合jenkins
jenkins节点需要安装git插件和git环境!
在命令行安装git环境
在web页面安装git插件
在jenkins创建任务:
配置gitlab的项目仓库的URL地址和登录gitlab的账号密码,填写完毕后保存
开始构建任务
点击这次构建任务,并查看控制台输出
我们可以看到最后构建成功了!
至此jenkins和gitlab结合成功!
Docker部署LAMP
导入lamp镜像
创建lamp容器
docker run --name wordpress -d -p 81:80 -v /opt/html:/var/www/html lamp
创建mysql容器
[root@node-171 ~]# docker run --name mysql -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123
-e MYSQL_DATABASE=wordpress
-e MYSQL_USER=tom
-e MYSQL_PASSWORD=123
mysql:5.7
执行docker ps 查看容器是否都成功运行!
至此lamp搭建完毕!
jenkins配置通过ssh发送文件到LAMP主机
jenkins上需要安装Publish Over SSH插件,通过此插件jenkins可以把工作空间的文件发送到远程主机上!
在可选插件中查询
选中插件直接安装即可!
配置插件,添加远程主机,将LAMP主机添加进来!
查到插件,点击新增ssh服务器
信息填写完毕后,测试是否可以成功连接,测试成功后保存即可
接下来回到首页,去配置任务!
增加构建后的操作!
选中发送文件到远程服务器
至此任务配置完毕!执行任务就会自动发送文件到远程主机了
我们不着急执行这个任务!我们先把wordpress的完整项目推送到gitlab上,然后再执行任务,让jenkins拉取wordpress项目的代码文件,同时发送到LAMP主机的网站根目录下!然后我们就可以访问到项目了!
推送wordpress到gitlab
在你的电脑上找到wordpress博客的安装包,其实就是源码包!将其解压
解压完毕后会生成一个wordpress目录
进入此目录,复制里面所有的文件,然后粘贴到我们的本地仓库中
回到我们的wordpress项目仓库中
等文件全部粘贴完毕后,我们进行本地仓库的提交,然后再推送到gitlab上
根据如下步骤点击操作!
第一步可能需要执行一会儿,文件太多了!耐心等待即可!
gitlab的wordpress项目中查看是否有上传的文件
wordpress推送到gitlab成功
执行jenkins构建任务实现自动发布
在控制台我们可以看到任务成功构建
访问lamp
登录成功
至此完成了自动构建和自动上线
我们这里其实还可以在jenkins的任务中增加任务构建的触发器,实现任务的自动构建!这样我们就不用手动执行任务了!只需要推送代码到gitlab即可完成任务的自动上线了