Gitee/GitLab与Jenkins自动化部署

【注意:】新版本Jenkins不能关闭跨站请求伪造保护(CSRF) ,本方法可解决

实现目的:在gitlab提交PHP代码后自动部署到web服务器

1 Jenkins安装

所有版本下载地址
https://www.jenkins.io/zh/download/
由于是centos,下载稳定版的rpm文件安装
https://pkg.jenkins.io/redhat-stable/

推荐清华源下载:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/
里面的插件也可以直接下载后上传到jenkins安装。

注意jenkins是依赖java环境运行的。也可以下载war包部署(推荐)。rpm安装方式会存在各种权限问题。

1.1 Tomcat安装方式

宝塔面板安装【Java项目管理器】会自动安装Java环境Tomcat(v9),建立Java项目,将jenkins.war文件上传到该项目根目录并解压即可。

1.2 rpm安装方式

wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.222.3-1.1.noarch.rpm
rpm -ivh jenkins-2.222.3-1.1.noarch.rpm

安装好后可以修改配置文件,如端口号(默认8080)之类的

vim /etc/sysconfig/jenkins

启动

service jenkins start

1.3 配置

http://ip:端口号访问网页,按提示获取并输入密码。不要安装插件,不然很慢。进入管理界面后进入【插件管理】直接上传插件安装,也可以把下载源更换为国内的。为了加快插件安装速度,插件管理->高级->升级站点更换下载源:

http://mirror.xmission.com/jenkins/updates/update-center.json

上述源有时也会失败,不推荐。

推荐:
参考《Jenkins安装插件提速》
设置为清华下载源:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

找到default.json文件替换其中链接:

cd /home/www/.jenkins/updates
sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json

2 安装Localization: Chinese (Simplified)插件

汉化不完整的问题请参考《安装最新版本的jenkins 如何改成中文》
安装插件 Locale->系统设置->Locale设置为zh_CN,重启。无效则先设置为en_US再设置为zh_CN

3 Gitee插件使用

Jenkins可直接安装Gitee插件。使用方法跟Gitlab类似。
需要注意的是,由于我们使用dev分支开发,然后合并到master分支部署,在此处设置过滤分支,不然任何分支提交都会触发代码拉取。
在这里插入图片描述

4 Gitlab插件使用

在Jenkins中安装Gitlab Plugin插件后,添加任务(构建一个自由风格的软件项目),任务的【源码管理】配置中选择git,可以直接输入用户名密码作为git凭证。
在这里插入图片描述
【Build when a change is pushed to GitLab…】会显示GitLab的webhook URL,点击【高级】按钮,里面可以产生一个token。

在这里插入图片描述
在这里插入图片描述
在gitlab项目的webhook填入URL,以及token。在这里插入图片描述

3 测试与部署

gitlab中创建好webhook后可以点击按钮测试一下。
在这里插入图片描述
这时jenkins会拉取最新代码。
在这里插入图片描述
上图有个git保存路径【Building in workspace /var/lib/jenkins/workspace/xxx】,将web服务器目录设置为该路径即可,注意文件权限问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值