PHP持续集成实践

概念

频繁的自动化构建项目。html

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

Jenkins

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

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须要持续集成的服务器。ui

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

Jenkins 部署项目

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

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

到这里就能够构建咱们的项目了。

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
相关文章
相关标签/搜索