环境为: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" } }
构建概览:
控制台输出详情:
能够看到每一步的执行详情,最后也是成功的!!!!!!
此外咱们能够查看服务器及网页实际体验效果进行验证。