我是靠谱客的博主 谨慎山水,最近开发中收集的这篇文章主要介绍jenkins 部署 vue(nodejs)打包项目jenkins 部署 vue(nodejs)打包项目,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

jenkins 部署 vue(nodejs)打包项目

准备:

  • jenkins
  • jenkins 插件 Git Parameter Plugin 参数化构建过程
  • jenkins 插件 ssh Publisher 远程部署
  • 全局配置好 ssh 远程服务器,测试联通
  • 「可选」全局配置,git 仓库,或者 项目配置 git 仓库,建议使用 token 访问仓库

配置 pipeline 项目

def url = "https://oauth2:Lxxxxxxxxxxxxxx@gitlab.xxxx.com/good/good_project.git"
def remote_directory = "/data/project/web-back/"

pipeline {
  agent any
  parameters {
      // 需要安装 Git Parameter Plugin
      gitParameter name: 'BRANCH_TAG',
                    type: 'PT_BRANCH_TAG',
                    branchFilter: 'origin/(.*)',
                    defaultValue: 'master',
                    selectedValue: 'DEFAULT',
                    sortMode: 'ASCENDING_SMART',
          description: 'Select your branch or tag.'
  }
  stages {
    stage('echo env') {
        steps {
          sh 'printenv'
        }
    }
    stage("git fetch") {
      steps {
         checkout([$class: 'GitSCM',
                          // branches: [[name: "*/${branch}"]],
                          branches: [[name: "${params.BRANCH_TAG}"]],
                          doGenerateSubmoduleConfigurations: false,
                          extensions: [],
                          submoduleCfg: [],
                          userRemoteConfigs: [[
                            url: "${url}",
                            // credentialsId: 'for_gitlab',
                          ]]
                        ])
      }
    }
    stage('npm打包') {
      steps {
          //使用NodeJS的npm进行打包
          nodejs('nodejs14'){
              sh '''
                  yarn
                  yarn build
                '''
          }
      }

    }
    stage('远程部署') {
      steps {
        //远程调用进行项目部署
        // *.js      所有js文件
        // *          只传输文件,文件夹不会传输
        // **         所有文件
        sshPublisher(publishers: [sshPublisherDesc(configName: '172.16.4.152',
                                                    transfers: [sshTransfer( cleanRemote: true,
                                                                              excludes: '',
                                                                              execCommand: '',
                                                                              execTimeout: 120000,
                                                                              flatten: false,
                                                                              makeEmptyDirs: false,
                                                                              noDefaultExcludes:false,
                                                                              patternSeparator: '[, ]+',
                                                                              remoteDirectory: "${remote_directory}",
                                                                              remoteDirectorySDF: false,
                                                                              removePrefix: 'dist/',
                                                                              sourceFiles: 'dist/**')],
                                                      usePromotionTimestamp: false,
                                                      useWorkspaceInPromotion: false,
                                                      verbose: true)])
      }
    }
    stage("chore") {
      steps {
        sh """
        pwd
        tar -zcf dist.tar.gz -C dist . # 打包dist目录的内容,不包括dist目录自身
        ls -al dist*
        """
      }
    }
  }
  post {
    success {
    // 打包成功就 归档
      archiveArtifacts artifacts: 'dist*.gz',
                       allowEmptyArchive: true,
                       fingerprint: true,
                       onlyIfSuccessful: true
    }
  }
}

参数化构建
image-参数化构建

流水线构建
在这里插入图片描述

最后

以上就是谨慎山水为你收集整理的jenkins 部署 vue(nodejs)打包项目jenkins 部署 vue(nodejs)打包项目的全部内容,希望文章能够帮你解决jenkins 部署 vue(nodejs)打包项目jenkins 部署 vue(nodejs)打包项目所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部