PHP持续集成实践

概念

频繁的自动化构建项目。

参考文章
持续集成是什么?-阮一峰
php项目的持续集成 - 老番

Jenkins

Jenkins是自动化服务器软件,它提供了数百个插件来支持构建、部署和自动化任何项目。
Jenkins 官网

Jenkins 安装

Jenkins 依赖 Java JDK
Ubuntu 16.04安装Java JDK

Linux 安装 Jenkins
安装教程可以在官网查找,下载地址 Jenkins官方下载地址

Jenkins 初始化

输入初始化密码,通过浏览器访问,第一次访问会要求输入管理员密码,密码会被记录在 /var/lib/jenkins/secrets/initialAdminPassword 文件中。
定制安装流程,可以选择默认安装和自定义安装,这里我选择了默认安装,进入Getting Started界面,等待安装完成。
创建管理员账号Username:jiangm Pasword:123456
配置Jenkins实例,可以配置Jenkins URL,这里我默认的用ip加端口形式访问。
初始化完成,这里按道理来说应该是到欢迎界面,但是我跳转到了空白页,刷新页面也没用,在控制台看页面是已经加载了,只是<iframe>中的内容没有获取到。于是我用浏览器重启了Jenkins 方法是URL后面接/restart即可,还可以/exit关闭、/reload重新加载配置。重启后恢复正常。
安装必要插件,安装插件 Git pluginPublish Over SSH,配置 Publish Over SSH系统管理->系统设置,先要设置Jenkins SSH Key的密码,然后添加SSH Service需要持续集成的服务器。

安装完插件后重启Jenkins时,浏览器重启时,遇到了一直处于重启中的问题,后来通过命令重启解决。

Jenkins 部署项目

新建项目,在欢迎界面选择New Job来创建项目,创建项目需要设置项目名称和项目类型,这里我选择的项目类型是构建一个自由风格的软件项目。也可以复制现有的项目创建为新项目。
配置新项目
配置Source Code Management源代码版本管理。

配置Build构建步骤,选择Send files or execute commands over SSH,填写配置。

到这里就可以构建我们的项目了。

Jenkins 项目配置

构建触发器,有五种触发器。
远程构建触发
其他项目构建后触发
定时构建,根据计划任务进行自动构建。
用于GITScm轮询的GitHub钩子触发
轮询SCM,添加计划任务主动轮询仓库是否有版本更新,只要SVN或Git中数据有更新,则执行构建任务。与定时构建不冲突。

Jenkins 常用操作

Jenkins启动/重启/停止命令
启动 service jenkins start
重启 service jenkins restart
停止 service jenkins stop

修改端口,可以到/etc/default/jenkins文件中修改

修改时区

// 新增一行配置
JAVA_ARGS="-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai"
// 如果上面修改不生效,修改改为下面的值
JAVA_ARGS="-Duser.timezone=Asia/Shanghai"
// 修改完重启jenkins

猜你喜欢

转载自www.cnblogs.com/tangch/p/10449098.html