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

这里写自定义目录标题

  • git+gitlab+jenkins+php持续化集成配置实践
    • git+gitlab+jenkins安装实践
      • 1. git安装
      • 2.gitlab安装
      • 3. jenkins安装
    • 创建gitlab代码仓库
      • 1.root账户登录gitlab。
      • 2.push代码到仓库
    • 创建jenkins项目
      • 1.初始化jenkins
      • 2.安装所需插件
      • 3.构建项目
    • 自动化构建
    • Author logn旭 QwQ

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
#修改配置文件并安装

git+gitlab+jenkins+php持续化部署配置实践_第1张图片
修改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避免冲突。
git+gitlab+jenkins+php持续化部署配置实践_第2张图片

创建gitlab代码仓库

1.root账户登录gitlab。

git+gitlab+jenkins+php持续化部署配置实践_第3张图片
创建私有仓库。因为WordPress代码存在问题。后面演示改用的discuz代码。

2.push代码到仓库

做好免密登录gitlab服务器

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

git+gitlab+jenkins+php持续化部署配置实践_第4张图片
将公钥复制到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仓库中

git+gitlab+jenkins+php持续化部署配置实践_第5张图片

创建jenkins项目

1.初始化jenkins

git+gitlab+jenkins+php持续化部署配置实践_第6张图片
在服务器上cat一下该文件把密码填进去。

2.安装所需插件

git+gitlab+jenkins+php持续化部署配置实践_第7张图片
手动上传下载的gitlab-plugin插件。等待安装完所需依赖重启即可。

3.构建项目

在jenkins中选择 新建item–>freestyle project
git+gitlab+jenkins+php持续化部署配置实践_第8张图片
项目名称,添加描述
git+gitlab+jenkins+php持续化部署配置实践_第9张图片
源码选择git,复制git地址填进去。添加登录用户。
git+gitlab+jenkins+php持续化部署配置实践_第10张图片
输入构建执行的脚本。目标为远程主机需要提前做好免密登录步骤如上同。

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

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

自动化构建

git+gitlab+jenkins+php持续化部署配置实践_第11张图片
点击构建jenkins会自动从gitlab中pull代码并部署到web服务器上
git+gitlab+jenkins+php持续化部署配置实践_第12张图片
到这git+gitlab+jenkins自动化部署就安装完成了。

Author logn旭 QwQ

你可能感兴趣的:(持续部署)