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

相关推荐
90后的晨仔5 分钟前
Vue3 状态管理完全指南:从响应式 API 到 Pinia
前端·vue.js
90后的晨仔20 分钟前
Vue 内置组件全解析:提升开发效率的五大神器
前端·vue.js
我胡为喜呀23 分钟前
Vue3 中的 watch 和 watchEffect:如何优雅地监听数据变化
前端·javascript·vue.js
非凡ghost1 小时前
Typora(跨平台MarkDown编辑器) v1.12.2 中文绿色版
前端·windows·智能手机·编辑器·软件需求
十五年专注C++开发2 小时前
CFF Explorer: 一款Windows PE 文件分析的好工具
c++·windows·microsoft
Bruce_Liuxiaowei2 小时前
Windows系统错误6118全面解决方案:修复此工作组的服务器列表当前无法使用
运维·服务器·windows·网络安全
Sheldon一蓑烟雨任平生4 小时前
Vue3 列表渲染
vue.js·vue3·v-for·列表渲染·vue3 列表渲染·v-for 循环对象·v-for与计算属性
水饺编程4 小时前
第3章,[标签 Win32] :窗口类03,窗口过程函数字段
c语言·c++·windows·visual studio
一苓二肆4 小时前
代码加密技术
linux·windows·python·spring·eclipse
LinXunFeng4 小时前
如何舒适地沉浸式编程,这是我的答案
windows·程序员·mac