假如你想快速搭建一個 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