使用Jenkins中的Pipeline流水线自动化部署前端Vue项目

1、pipeline

简介:
Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins。Pipeline 提供了一组可扩展的工具,用于通过Pipeline DSL为代码创建简单到复杂的传送Pipeline

语法:
agent:表示Jenkins应该为Pipeline的这一部分分配一个执行者和工作区。
stage:描述了这条Pipeline的一个阶段
steps:描述了要在其中运行的步骤 stage
sh:执行给定的shell命令
在sh编写多条命令的写法:

sh """
npm install
npm run build
"""

详细的知识点请查阅官网:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/

2、创建pipeline任务

使用Jenkins中的Pipeline流水线自动化部署前端Vue项目_第1张图片
使用Jenkins中的Pipeline流水线自动化部署前端Vue项目_第2张图片

git、nodejs和sshPublisherh的生成
点击图中的流水线语法
使用Jenkins中的Pipeline流水线自动化部署前端Vue项目_第3张图片

使用Jenkins中的Pipeline流水线自动化部署前端Vue项目_第4张图片
使用Jenkins中的Pipeline流水线自动化部署前端Vue项目_第5张图片

完整案例:

pipeline {
    agent any
    
    stages {
        stage ("拉取vue项目") {
            steps {
                git credentialsId: 'e0939905-8a6b-445d-906d-fe469c2fcb8a', url: 'http://192.168.13.226:3000/zhush/topfus-guodian-ui.git'
            }
        }
        
        stage ("Install") {
            steps {
                nodejs(configId: 'a4720548-c973-408b-ae68-a882421af9b5', nodeJSInstallationName: 'nodejs') {
                    sh """
                    npm install
                    npm run build
                    """
                    
                }
            }
        }
        
        stage ("tar.gz") {
            steps {
                sh "tar -zcvf ./shvuepipeline.tar.gz ./dist"
            }
        }
        
        stage ("tuisong") {
            steps {
                sshPublisher(publishers: [sshPublisherDesc(configName: 'localserver', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''cd ~/shvuepipeline
tar -xvf shvuepipeline.tar.gz -C /data/sh/shvuepipeline/''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/shvuepipeline', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'shvuepipeline.tar.gz')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
            }
        }
        
    }
}

你可能感兴趣的:(jenkins,jenkins,前端,自动化)