这里写自定义目录标题
- 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
#修改配置文件并安装
修改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