假如你想快速搭建一个 PHP CI/CD 服务器,那么 Docker 可以作为一个很好的选择。本文从实践的角度给出一个快速搭建 Docker + Jenkins 的 PHP 持续集成服务器的方案。如果你想了解更多的理论知识,本文的参考资料章节已献出大量干货。
第一步:安装 Docker#
不是本文的重点,略 (如有疑问,请自行百度或者在评论里留言)
第二步:安装 Docker 的 Jenkins 镜像 (已配置好所需要的各种 Jenkins 插件)#
docker pull voduytuan/jenkins-php-docker
经过漫长的等待后,镜像就下载好了,用 docker images
命令可以查看本地已经有了 voduytuan/jenkins-php-docker
镜像:
第三步:克隆 php template 文件夹#
克隆 php template 文件夹到 /var/docker/jenkins-php-docker
目录,并给该目录赋予 rwx 权限。
cd /var/docker/jenkins-php-docker
git clone https://github.com/naxhh/jenkins-php-docker
chmod -R 777 /var/docker/jenkins-php-docker
第四步:运行 Docker 容器#
docker run -d -P -v /var/docker/jenkins-php-docker:/var/jenkins_home:rw voduytuan/jenkins-php-docker
执行 docker ps
命令,即可看到 Jenkins 容器已经在运行:
按照上面给出的端口在浏览器中就可以访问配置好的 Jenkins 服务器了,而且已经有了一个模版项目 php-template
第五步:测试一下#
可以快速添加 Money 这个项目测试一下你的服务器是否能正常工作。
在 Copy existing Item
那里选择已有的模版项目 php-template
可以省去很多配置。
这里填写要测试的项目的 git 仓库地址,然后保存
构建几次项目后,就可以看到各式各样的测试图表:
参考资料#
在线服务器示例#
PHP 项目的 Jenkins 任务模版参考#
持续集成系列文章#
- Continuous Delivery: Introduction to concepts and tools
- Continuous Delivery: CI Tools Setup
- Continuous Delivery: Static Analysis
- Continuous Delivery: Unit Tests
- Continuous Delivery: Code Coverage
- Continuous Deployment: Introduction
- Continuous Deployment: Strategies
- Continuous Deployment: Implementation
- Continuous Deployment: Implementation with Ansible and Docker
- Continuous Integration, Delivery or Deployment with Jenkins, Docker and Ansible