说明:第一次使用jenkins生成pipeline片段,做个记录...
1.全局工具配置添加自定义node版本
2.系统管理添加前端应用部署服务器
2.1 点击高级选择账号密码验证方式,添加服务器的用户和密码
3.系统管理--凭据--系统--全局凭据--添加自己的git凭据
4.创建流水线类型任务
5.选择"hello world" 生成一个基本流水线框架,然后点击流水线语法,打开新页面
5.1 在片段生成器里选择自定义的工具生成片段,然后复制过来
5.2填加拉取代码步骤,生成器选择git,选择分支与刚刚创建的凭据生成步骤片段
5.3 增加一个stage-->steps,把生成的shell命令加入进来
5.4 最后在片段生成器使用插件sshPublisher生成部署步骤
再添加一个部署stage-->steps 插入这个片段
添加一个变量参数模块示例:
使用parameters 生成片段配置完成后在执行时可以选择相应的变量
附完整流水线
pipeline { agent any // 选择node版本 tools { nodejs 'Node16.20' } parameters { choice( name: 'BRANCH_NAME', choices: ['master', 'dev'], description: '请选择要构建的分支' ) } stages { // 从仓库获取代码 stage('拉取代码') { steps { git branch: "${BRANCH_NAME}", credentialsId: 'hz', url: 'http://172.16.8.32:19980/pigx/sifn-ui.git' } } // 使用npm命令进行打包 stage('执行构建') { steps { sh "node -v" sh "npm install" sh "npm run build" } } // 复制文件到目标服务器并发布 stage('进行部署') { steps { sshPublisher(publishers: [sshPublisherDesc(configName: 'xxxx服务器', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'nginx -s reload', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/data/ui/', remoteDirectorySDF: false, removePrefix: 'dist', sourceFiles: 'dist/**')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)]) } } } }