git+gitlab+jenkins+php持续化部署配置实践

git+gitlab+jenkins+php持续化集成配置实践

在现在的互联网中小企业中应用最为广泛的持续化部署莫属gitlab+jenkins。通过gitlab实现代码的集中化管理大大提高了开发效率。而jenkins的丰富插件为代码自动部署大大节约时间,并可以做到秒级回滚增加容错。本次主要介绍通过gitlab+jenkins实现PHP代码的自动化部署。

git+gitlab+jenkins安装实践

1. git安装

centos 7自带了git1.8鉴于版本过低。我们采用编译安装最新版git。下载最新的git源码包。

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y
#安装依赖包
#cd到源码包
make prefix=/usr/local/git all && make prefix=/usr/local/git install
#设置编译安装的路径并编译安装
rm -rf /usr/bin/git
ln -s /usr/local/git/bin/git /usr/bin/git
git --version
#替换掉系统自带的git1.8 

当git版本显示为你下载的版本时就安装成功了。

2.gitlab安装

清华大学镜像站下载gitlab的rpm包。

yum install curl policycoreutils  policycoreutils-python openssh-server openssh-clients -y
#安装所需依赖包
systemctl enable sshd
systemctl start sshd
yum install postfix
systemctl enable postfix
systemctl start postfix
#启动相关的服务
rpm -ivh gitlab-版本号.rpm
#安装gitlab rpm包
vim /etc/gitlab/gitlab.rb 
gitlab-ctl reconfigure
gitlab-ctl status
#修改配置文件并安装

在这里插入图片描述
修改URL为本机的ip地址。浏览器访问本机ip即可。
因为jenkins默认以8080端口启动,安装时如果gitlab和jenkins安装在同一台主机。所以访问时会出现502报错,1.是8080端口被占用。2.是内存小于2GB。以此后面 要修改jenkins的默认端口。并保证虚拟机内存要大于2GB。

3. jenkins安装

在清华大学开源镜像站下载jenkins的rpm安装包 并下载相应版本的gitlab-plugin.hpi插件。因为jenkins插件下载一直被诟病。因此我们用上传文件安装gitlab-plugin插件。

rpm -ivh jenkins 
#安装jenkins
vim /etc/sysconfig/jenkins
#port=8081 修改端口
/etc/init.d/jenkins start 
#启动服务

修改端口为8080避免冲突。
在这里插入图片描述

创建gitlab代码仓库

1.root账户登录gitlab。

在这里插入图片描述
创建私有仓库。因为WordPress代码存在问题。后面演示改用的discuz代码。

2.push代码到仓库

做好免密登录gitlab服务器

ssh-keygen -t rsa
#生成密钥对
cat ~/.ssh/id_rsa.pub
#复制公钥

在这里插入图片描述
将公钥复制到gitlab中的ssh keys中。

mkdir -pv /code/discuz
#创建代码所在文件夹并将discuz源码包的upload上传至/code/discuz文件夹中
cd /code/discuz
git init
#初始化
git add *
git commit -m "discuz v1.0"
#将代码提交到本地仓库中
git push --set-upstream “你的git@地址”
#将代码push到gitlab仓库中

在这里插入图片描述

创建jenkins项目

1.初始化jenkins

在这里插入图片描述
在服务器上cat一下该文件把密码填进去。

2.安装所需插件

在这里插入图片描述
手动上传下载的gitlab-plugin插件。等待安装完所需依赖重启即可。

3.构建项目

在jenkins中选择 新建item–>freestyle project
在这里插入图片描述
项目名称,添加描述
在这里插入图片描述
源码选择git,复制git地址填进去。添加登录用户。
在这里插入图片描述
输入构建执行的脚本。目标为远程主机需要提前做好免密登录步骤如上同。

usermod -s /bin/sh jenkins
#为jenkins添加登录shell
su jenkins
ssh-keygen -t rsa
ssh-copy -i root@web_host
#设置好jenkins免密登录web服务器

因为jenkins用jenkins账户启动需要为其添加相应权限。执行visudo为其添加权限。
在这里插入图片描述

自动化构建

在这里插入图片描述
点击构建jenkins会自动从gitlab中pull代码并部署到web服务器上
在这里插入图片描述
到这git+gitlab+jenkins自动化部署就安装完成了。

Author logn旭 QwQ

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值