環境爲:lnmphtml
PHP項目:wordpress(此處咱們下載一個wordpress的源碼。將其模擬爲咱們的代碼上傳到咱們的git倉庫)node
1)建立jobnginx
2)參數化構建git
3)配置pipeline腳本(此處採用git倉庫獲取腳本)服務器
4)最後,保存curl
接下里編寫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" } }
構建概覽:
控制檯輸出詳情:
能夠看到每一步的執行詳情,最後也是成功的!!!!!!
此外咱們能夠查看服務器及網頁實際體驗效果進行驗證。