zoukankan      html  css  js  c++  java
  • Jenkins自动化CI CD流水线之7--流水线自动化发布PHP项目

    一、前提

    环境为:lnmp

    PHP项目:wordpress(此处我们下载一个wordpress的源码。将其模拟为我们的代码上传到我们的git仓库)

    二、配置

    1)创建job

    2)参数化构建

    3)配置pipeline脚本(此处采用git仓库获取脚本)

    4)最后,保存

    三、编写jenkinsfile

    接下里编写jenkinsfile文件:

    jenkinsfile-PHP:

    源码文件:

    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"
       }
    }

    下面为带解释版,但不可以使用,部分注释会造成问题

    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"
       }
    }

    四、构建

    构建概览:

    控制台输出详情:

    可以看到每一步的执行详情,最后也是成功的!!!!!!

    此外我们可以查看服务器及网页实际体验效果进行验证。

  • 相关阅读:
    【洛谷P2921】[USACO08DEC]在农场万圣节Trick or Treat on the Farm
    【洛谷P3659】[USACO17FEB]Why Did the Cow Cross the Road I G
    【洛谷P3385】【模板】负环
    Typora+PicGo+Gitee实现图片上传功能
    Java substring() 方法
    Java lastIndexOf的用法
    Tomcat控制台乱码处理解决方法
    HTTP 协议中 URI 和 URL 有什么区别?
    java如何判断某一变量属于什么类型
    Idea发布web项目显示“找不到应用程序”的解决方法
  • 原文地址:https://www.cnblogs.com/forever521Lee/p/9593815.html
Copyright © 2011-2022 走看看