windows中使用Jenkins打包,部署vue项目完整操作流程

文章目录

    • [1. 下载和安装](#1. 下载和安装)
    • [2. 使用](#2. 使用)
      • [1. 准备一个 新创建 或者 已有的 Vue项目](#1. 准备一个 新创建 或者 已有的 Vue项目)
      • [2. git仓库](#2. git仓库)
      • [3. 添加Jenkinsfile文件](#3. 添加Jenkinsfile文件)
      • [4. 成功示例](#4. 成功示例)

1. 下载和安装

网上有许多安装教程,简单罗列几个

2. 使用

在Jenkins已经安装的基础上,可以开始下面的教程

1. 准备一个 新创建 或者 已有的 Vue项目

2. git仓库

  1. github/gitee/gitlab都一样
  2. Jenkins需要凭证,所以我使用的ssh链接
  3. 需要生成秘钥,然后在gitee和Jenkins中添加

3. 添加Jenkinsfile文件

  1. Jenkinsfile代码
groovy 复制代码
pipeline {
    agent any
	
    // 定义变量, 使用方式: ${变量名}
    environment {
        REMOTE_SERVER_DIR  = "/www/wwwroot/XXXXX/vite_test_app"
        REMOVE_PREFIX = "dist"
        ARTIFACT_PATTERN = "**/dist/**"
        SOURCE_FILES =  "dist/**"
    }

    stages {
        stage('Checkout') {
            steps {
                checkout scm
            }
        }
        stage('Install Dependencies') {
            steps {
                bat 'npm install --legacy-peer-deps'
            }
        }
        stage('Build') {
            steps {
                bat 'npm run build'
            }
        }
        stage('Archive Artifacts') {
            steps {
                archiveArtifacts artifacts: "${ARTIFACT_PATTERN}", fingerprint: true
            }
        }
        stage('Deploy to Remote Server') {
            steps {
                sshPublisher(publishers: [sshPublisherDesc(
                    configName: 'baota', // 修改为您的配置名 baota
                    transfers: [sshTransfer(
                        cleanRemote: true,
                        excludes: '',
                        execCommand: "", // 如果有部署后需要执行的命令,可以在这里添加
                        execTimeout: 120000,
                        flatten: false,
                        makeEmptyDirs: false,
                        noDefaultExcludes: false,
                        patternSeparator: '[, ]+',
                        remoteDirectory: "${REMOTE_SERVER_DIR}", // 确保remote_directory变量已定义
                        remoteDirectorySDF: false,
                        removePrefix: "${REMOVE_PREFIX}", // 假设源文件夹结构中dist是要移除的前缀
                        sourceFiles: "${SOURCE_FILES}" // 指定要传输的源文件或目录模式
                    )],
                    usePromotionTimestamp: false,
                    useWorkspaceInPromotion: false,
                    verbose: false
                )])
            }
        }
    }

    post {
        always {
            cleanWs()
        }
    }
}

4. 成功示例

相关推荐
工业互联网专业14 分钟前
毕业设计选题:基于springboot+vue+uniapp的驾校报名小程序
vue.js·spring boot·小程序·uni-app·毕业设计·源码·课程设计
J不A秃V头A43 分钟前
Vue3:编写一个插件(进阶)
前端·vue.js
司篂篂1 小时前
axios二次封装
前端·javascript·vue.js
姚*鸿的博客2 小时前
pinia在vue3中的使用
前端·javascript·vue.js
sysin.org2 小时前
VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025
windows·macos·esxi·bios·oem·网卡驱动·nvme驱动
shuxianshrng2 小时前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑3 小时前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
天下无贼!3 小时前
2024年最新版Vue3学习笔记
前端·vue.js·笔记·学习·vue
爱喝水的小鼠4 小时前
Vue3(一) Vite创建Vue3工程,选项式API与组合式API;setup的使用;Vue中的响应式ref,reactive
前端·javascript·vue.js
小晗同学4 小时前
Vue 实现高级穿梭框 Transfer 封装
javascript·vue.js·elementui