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. 成功示例

相关推荐
像风一样自由20202 小时前
从本地到公网:Windows 下使用 Cloudflare Quick Tunnel 与 Natapp 联调 FastAPI
windows·fastapi
程序软件分享7 小时前
多语言DAPP综合盘交易所系统源码搭建剖析
vue.js·金融·开源
2601_960906728 小时前
科技“无人区”跋涉,难度高、不确定性大
windows·macos·pycharm·myeclipse
会飞的大鱼人9 小时前
一文搞懂 Java HashSet:把它想成游乐园里只允许一次入场的盖章名单
java·开发语言·windows
ziguo112210 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
路光.11 小时前
Vue2升级Vue3处理原 UMD/CommonJS 打包文件,不是标准 ESM
前端·javascript·vue.js·vue3
王维同学11 小时前
IFEO Debugger、VerifierDlls 与 SilentProcessExit 配置
c++·windows·安全·注册表
您^_^13 小时前
使用技巧(十一):Claude Code 最强审问官 —— grill-me 深度指南,装完先别写代码
人工智能·windows·个人开发·claudecode·deepseek v4 pro
酉鬼女又兒14 小时前
[特殊字符]零基础入门AI:归纳演绎、假设空间、归纳偏好、NFL、过拟合与欠拟合、模型评估选择、超参数、性能度量、混淆矩阵、P-R曲线和F1
人工智能·windows·python·深度学习·安全·机器学习·矩阵
山城码农笑松哥15 小时前
C盘空间救星:一键无损迁移软件数据到其他盘
windows·c盘清理迁移