jenkins自动化部署Jenkinsfile文件配置

简介

使用jenkins部署时会读取项目中Jenkinsfile文件,文件配置不对会导致部署失败

文件内容

java 复制代码
pipeline {
    agent any
    parameters {
        string(name: 'project_name', defaultValue: 'xxx1', description: '项目jar名称')
        string(name: 'version', defaultValue: 'xxx2', description: '部署环境')
        string(name: 'user_name', defaultValue: 'xxx3', description: '操作系统登录名')
    }
    stages {
        stage('构建') {
            steps {
                sh """
                mvn clean install -U -Dmaven.test.skip=true -DprofileActive=${params.version}
                """
            }
        }
        stage('发布') {
            steps {
                sh """
               /root/killJar.sh ${params.version}/${params.project_name}/boot/${params.project_name}.jar
               rm -rf /home/${params.user_name}/api/${params.project_name}-${params.version}-1.0.0.tar.gz
               rm -rf /home/${params.user_name}/api/${params.version}
               cp ./target/${params.project_name}-${params.version}-1.0.0.tar.gz /home/${params.user_name}/xxx
               cd /home/${params.user_name}/api
               mkdir ${params.version}
               chown ${params.user_name}:${params.user_name}  ${params.project_name}-${params.version}-1.0.0.tar.gz
               tar -zxvf ${params.project_name}-${params.version}-1.0.0.tar.gz -C ${params.version}
               cd ${params.version}
               pwd
               chown -R ${params.user_name}:${params.user_name} ${params.project_name}
               su - ${params.user_name} -c /home/xxx/xxx/${params.version}/${params.project_name}/bin/startup.sh
                """
            }
        }
    }
}
相关推荐
绝不偷吃8 小时前
ELK日志分析系统
运维·elk·jenkins
Hacker_Oldv11 小时前
软件测试(功能、工具、接口、性能、自动化、测开)详解
运维·自动化
Java樱木11 小时前
使用字节Trae + MCP,UI 到网页自动化。
运维·自动化
小小鱼儿小小林17 小时前
免费一键自动化申请、续期、部署、监控所有 SSL/TLS 证书,ALLinSSL开源免费的 SSL 证书自动化管理平台
开源·自动化·ssl
从零开始学习人工智能18 小时前
深入解析 OPC UA:工业自动化与物联网的关键技术
运维·物联网·自动化
真智AI20 小时前
AI智能体时代来临:数据分析的变革与自动化之路
人工智能·数据分析·自动化
真实的菜1 天前
Jenkins生态与拓展:构建现代化DevOps工具链的终极指南
servlet·jenkins·devops
程序员的世界你不懂11 天前
Appium+python自动化(三十)yaml配置数据隔离
运维·appium·自动化
去伪存真11 天前
如何封装Jenkins参数化构建中的动态选项获取代码片段?
前端·jenkins
东窗西篱梦11 天前
LNMP一键自动化部署
运维·自动化