Jenkins自動化CI CD流水線之7--流水線自動化發佈PHP項目

1、前提

環境爲:lnmphtml

PHP項目:wordpress(此處咱們下載一個wordpress的源碼。將其模擬爲咱們的代碼上傳到咱們的git倉庫)node

2、配置

1)建立jobnginx

2)參數化構建git

3)配置pipeline腳本(此處採用git倉庫獲取腳本)服務器

4)最後,保存curl

3、編寫jenkinsfile

接下里編寫jenkinsfile文件:wordpress

jenkinsfile-PHP:測試

源碼文件:url

node ("slave01-172.16.1.2") {
   stage('git checkout') {
       checkout([$class: 'GitSCM', branches: [[name: '${branch}']], doGenerateSubmoduleConfigurations: false, extensions: [], subm
oduleCfg: [], userRemoteConfigs: [[url: 'git@172.16.1.3:/home/git/repos/wordpress']]])
   }
   stage('code copy') {
        sh '''rm -rf ${WORKSPACE}/.git
        mv /usr/share/nginx/html/wp.com /data/backup/wp.com-$(date +"%F_%T")
        cp -rf ${WORKSPACE} /usr/share/nginx/html/wp.com'''
   }
   stage('test') {
       sh "curl http://wp.test.com/status.html"
   }
}

下面爲帶解釋版,但不能夠使用,部分註釋會形成問題spa

node ("slave01-172.16.1.2") {   //綁定到該節點去執行
   stage('git checkout') {     //拉代碼
       checkout([$class: 'GitSCM', branches: [[name: '${branch}']], doGenerateSubmoduleConfigurations: false, extensions: [], su
bmoduleCfg: [], userRemoteConfigs: [[url: 'git@172.16.1.3:/home/git/repos/wordpress']]])
   }
   stage('code copy') {    //複製代碼
        sh '''rm -rf ${WORKSPACE}/.git   //刪除拉下來的項目的.git敏感文件
        mv /usr/share/nginx/html/wp.com /data/backup/wp.com-$(date +"%F_%T")  //備份舊文件
        cp -rf ${WORKSPACE} /usr/share/nginx/html/wp.com'''  //新文件複製到站點目錄
   }
   stage('test') {  #測試
       sh "curl http://wp.test.com/status.html"
   }
}

4、構建

構建概覽:

控制檯輸出詳情:

能夠看到每一步的執行詳情,最後也是成功的!!!!!!

此外咱們能夠查看服務器及網頁實際體驗效果進行驗證。

相關文章
相關標籤/搜索