环境准备:
MySQL
Gitlab (代码托管平台,存放php的代码)
web服务器(Apache+php)
Jenkins
MySQL安装
使用Docker部署Mysql5.6
docker run –d –p 3306:3306
-e MYSQL_ROOT_PASSWORD=“123”
-e MSYQL_DATABASE=“wordpress”
-e MYSQL_USER=“tom”
-e MYSQL_PASSWORD=“123456” 10.30.36.108:5000/mysql:5.6
部署gitlab
docker run d -p 8081:80 10.30.34.112/docker/gitlab
设置初始密码(root)
新建项目
上传代码到gitlab
在客户机安装git,并将开发好的代码上传的gitlab
1.克隆gitlab项目到本地
2. 导入wordpress源码
3. 添加源码到暂存区
4. 提交代码到仓库
5. 上传代码到gitlab
git常用命令
git init //初始化本地git环境
git clone XXX//克隆一份代码到本地仓库
git pull //把远程库的代码更新到工作台
git add . //把本地的修改加到stage(暂存区)中
git commit -m ‘提示信息’ //把stage中的修改提交到本地库
git push //把本地库的修改提交到远程库中
实战php自动发布-Jekins插件安装
插件安装
系统管理—管理插件—已安装 检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装 安装好两个插件后,点击“系统管理”– “系统设置”
实战php自动发布
SSH配置
系统管理—系统设置—Publish over SSH
在key内填写jenkins服务器的私钥,如果没有需要先在jenkins服务器生成私钥与公钥。ssh-keygen -t rsa回车后会在登录用户的家目录下生成一个.ssh 的目录,此目录下存在id_rsa私钥与id_rsa.pub公钥。且讲公钥发布至代码发布的目标服务器上ssh-copy-id -i /root/.ssh/id_rsa.pub root@IP。
实战php自动发布
SSH Server配置
name:需要将php程序发布到目标服务器的名称,可自定义
Hostname:填写目录服务器的IP地址
Username:使用那个用户进行发布,此处为进行密钥互信的用户
Remote Directory:此出为发布到目标服务器的相对根路径,建议填写/,防止后续填写路径异常。 实战php自动发布
构建项目
新建Item—填入项目名称—选择构建一个自由风格的软件项目—确定
源码管理选择git Repository URL 填写具体git上的仓库url,
构建后够操作 选择(Send files or execute commands over SSH)
SSH Server选择目标服务器如:
php-server Source files:**/* #将git拉取下来的原始文件
Remote directory:/var/www/html #发布到目标服务器的制定目录
Exec command:chown apache:apache -R /var/www/html/* #制定后续的操作
构建
点击保存,并立即构建,可以点击console output查看日志