[LNMP自動化整合]使用jenkins進行PHP持續整合--自動化代碼檢查、分析和單例測試

來源:互聯網
上載者:User

持續整合解決問題

  1. 統一測試代碼發布
  2. 代碼自動化測試
  3. 多機自動化部署

工具選擇

  1. 整合工具jenkins 官網http://jenkins-ci.org/
  2. 構建工具phing 官網http://www.phing.info/

jenkins+php安裝(Linux環境、預設php5.3)

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keyyum install jenkinsyum install javayum install java-1.6.0-openjdkyum install phpyum install php-develyum install php-pearyum install re2cyum install php-pecl-imagickyum install php-domyum install php-pear-phingyum install php-phpunit-PHPUnityum install php-phpunit-phpcpdpear channel-discover pear.phpmd.orgpear install --alldeps phpmd/PHP_PMD

jenkins配置和啟動

service jenkins startchkconfig jenkins on

jenkins配置

jenkins需安裝的擴充(線上web進行擴充安裝)

Role Strategy(基於角色的許可權管理)Publish Over SSH Plugin(通過ssh發布代碼)Phing(php構建工具)PMD(代碼靜態檢查)PlotJDependDRY

基於角色的許可權管理

使用Role Strategy外掛程式實現許可權管理,設定在:系統管理-->Manage and Assign Roles

通過項目首碼+正則匹配,可實現項目組的許可權管理

通過ssh發布代碼(免密碼輸入)
  1. 在生產機建立使用者生產機,即實際運行程式的機器,接收來自jenkins部署機通過ssh上傳的代碼
    useradd jenkins_publisher
  2. 在發布機產生公私密金鑰發布機,即jenkins所在的機器
    keygen -t rsa   (全部選擇是)然後在 /root/.ssh/ 能夠找到公私密金鑰
  3. 將公開金鑰發送發布機
    1.將 發布機上的 /root/.ssh/id_rsa.pub 傳送到 生產機的 /home/jenkins_publisher/.ssh/2.將 id_rsa.pub 改名為 authorized_keys3.將 authorized_keys 設定為 jenkins_publisher 所有
  4. 在生產機建立程式目錄
    【首次部署】建立對應的 程式包目錄: mkdir -p /data/svn_data/chown -R jenkins_publisher /data/svn_data/(根據實際部署環境)【每次應用部署】建立對應的 web程式目錄: mkdir -p /data/www/***  (根據實際部署環境)更改目錄的所有者:  chown -R  jenkins_publisher /data/www/***
  5. jenkins 配置ssh源通過免密碼方式配置 ssh 源(將上面步驟產生 的 私密金鑰,複製進去),登陸帳號是:jenkins_publisher

    發布到生產機

建立jenkins項目

build檔案模板

在程式svn根目錄添加 build.xml 檔案

                                                                                    ####程式的目錄(根據實際情況更改)                                                                                                            ####整合構建相關配置                                                                        ####php代碼規模分析工具配置                                                                                                                 ####php代碼靜態檢查工具配置                                                                                                ####php程式碼分析工具配置                                                                                                                     ####php單例測試組態                                                                                                                                                ####構建參數配置                                                                                    ####構建參數配置                                                                                    
jenkins 打包代碼配置

打包配置

配置jenkins 的ssh發布(可執行shell)

發布目錄配置

代碼發布
  1. 將代碼更新到svn
  2. 在jenkins 的該項目中,操作“立即構建”
  3. 檢查本次構建-控制台輸出,正常狀態如下

構建結果

發布復原

  1. 將svn上的代碼復原到上一穩定版本,並提交(一定是提交,不能只是將本地檔案復原)
  2. 重新構建代碼
  3. 資料復原

整理於2015/02

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.