pipeline {
    agent any
    environment { 
    def ITEMNAME = "erp"
    def DESTPATH = "/home/ops/testpipe"
def codePATH="/var/lib/jenkins/workspace/test_pipeline"
    }
    stages {    
        stage('代码拉取'){
            steps {
            echo "checkout from ${ITEMNAME}"
            git url: ' git@gitlab.1***.cn:fangxin-tech/erp.git', branch: 'master'
            
                    }
                    }
        stage('目录检查') {
            steps {
                echo "检查${DESTPATH}目录是否存在"
                script{
                    def resultUpdateshell = sh script: 'ls ${DESTPATH}'
                    if (resultUpdateshell == 0) {
                        skip = '0'
                        return
                    }   
                    }
                    }
                    }       
        stage('服务检查') {
            steps {
                echo "检查nginx进程是否存在"
                script{
                    def resultUpdateshell = sh script: 'ps aux|grep nginx|grep -v grep'
                    if (resultUpdateshell == 0) {
                        skip = '0'
                        return
                    }   
                    }
                    }
                    }
stage('supserver检查') {
     steps {
      echo "检查supserver是否存活"
  script{ 
 def resultUpdateshell = sh script: 'ps -ef |grep supervisor|grep -v grep' 
 if (resultUpdateshell == 0) {
    skip = '0'
return
}
}
}
}

stage('发布确认') {
            steps {
                input "检查完成,是否发布?"
            }
        }                   
        stage('代码推送') {
            steps {
            echo "code sync"
            sh "cp ${codePATH}/*  ${DESTPATH}/ -fr"
        }
        }
stage('gulp检查') {
     steps {
      echo "编译css和js文件"
  script{ 
    // def resultUpdateshell1 = sh script: 'cp -fr /home/ops/erp/node_modules ${DESTPATH}/'
// def resultUpdateshell2 = sh script: 'cp -fr /home/ops/erp/.env ${DESTPATH}/'
     def resultUpdateshell3 = sh script: 'cd  ${DESTPATH} &&  composer install'
 def resultUpdateshell4 = sh script: 'cd  ${DESTPATH} && /home/ops/testpipe/node_modules/.bin/gulp'
 def resultUpdateshell5 = sh script: 'cd  ${DESTPATH} &&  php artisan migrate'
 def resultUpdateshell6 = sh script: 'cd  ${DESTPATH} &&  php artisan queue:restart'

}
}
}
}

Jenkins的一些代码相关推荐

  1. Jenkins file一行代码部署.NET程序到K8S

    Jenkins file一行代码部署.NET程序 什么是Jenkins共享库 随着微服务的增多,每个项目的都需要pipline文件,这样的话Pipeline代码冗余度高,并且pipeline的功能越来 ...

  2. jenkins支持PHP,jenkins发布php代码

    jenkins发布php代码 配置插件 ​ 系统管理---->管理插件---->已安装 ​ 发布系统之前需要检查一下 是否安装Git plugin和Publish Over SSH插件,如 ...

  3. Jenkins+Gitlab+SonarQube 代码质量管理集成

    Jenkins+Gitlab+SonarQube 代码质量管理集成 一.环境准备 1.1.JDK11环境安装 1.2.Docker环境下搭建SonarQube所需的PostgreSQL数据库 1.2. ...

  4. jenkins+sonar 实现代码检测

    docker安装jenkins+sonar 实现代码检测 一.sonarqube简介 SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量.通过插件形式,可以支持众多计算机 ...

  5. jenkins pipeline_DevOps编程操练:用Jenkins流水线建立代码质量预警机制

    解决痛点 代码上线故障多 不知如何用docker搭建Jenkins操练环境 不知如何开始为Java代码编写自动化单元测试 不知如何将单元测试运行在Jenkins流水线上 不知如何将繁琐的手工Jenki ...

  6. jenkins参数化python代码

    一.jenkins端设置 二.python代码端设置 三.jenkins 运行python代码 四.附:python代码 import ostry:env = os.environ["env ...

  7. Jenkins与网站代码上线解决方案

    1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具.在与Oracle发生争执后,项目从Hudson项目独立. Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中 ...

  8. 再见Jenkins,从Gitlab代码提交到k8s服务持续交付只需七毛三

    Gitlab runner 快速搭建CICD pipeline 背景 日常开发中,相信大家已经做了很多的自动化运维环境,用的最多的想必就是利用Jenkins实现代码提交到自动化测试再到自动化打包,部署 ...

  9. docker jenkins 公钥_代码自动发布docker(20.10.1)+k8s(1.20.1)

    PaaS平台 Docker版本(20.10.1)  2020-12-15 k8s版本(1.20.1)  2020-12-19 代码托管:https://github.com/kubernetes/ 官 ...

最新文章

  1. pgsql 相关的命令
  2. Logistic regression--转
  3. 从后台传给前台的url字符串值的注意事项
  4. eclipse启动不了并报错Java was started but exit with code 13 问题解决
  5. 计算机模型机设计实验报告,基本模型机设计与实现 实验报告
  6. 生成jsp验证码的代码详解(servlet版)
  7. CSS 制作垂直导航
  8. 数据库存入表情符报错问题
  9. oSIP开发者手册 (二)
  10. 你知道defer的坑吗?
  11. UML教程2:用例图
  12. 从一个简单的main方法执行谈谈JVM工作机制
  13. 5G的SUCI、SUPI、5G-GUTI使用场景及关系
  14. MySQL----数据库概念及数据模型
  15. 将图片内嵌到 exe 文件中
  16. LS1046修改寄存器翻转SATA引脚的N/P极性
  17. 解决JWT解析token数据时拿不到问题
  18. C++语言篇 第一章 二进制及计算机基础
  19. 提车二月记--小鹏P7
  20. python32位和64位有什么区别_python32位和64位的区别是什么

热门文章

  1. P1059 [NOIP2006 普及组] 明明的随机数
  2. Redis对象的refcount与lru属性(内存回收、对象共享、空转时长)
  3. DSP关于存储器读写、IO读写时序图的注意点
  4. js数字最多保留两位小数_8085微处理器中最多两个8位数字
  5. 用筛选法求100之内的素数
  6. [Golang]slice值传递存在的问题
  7. linux网络编程之网络应用设计模式、分层模型、通信过程
  8. linux中错误总结归纳
  9. pic单片机c语言读eeprom,PIC16F877单片机内部EEPROM读写实例
  10. C++中的lambda表达式和线程库