前言
测试:前端传一下代码
你:好的。
接下来就得合并代码,执行build,连接ftp,上传文件,一顿操作下来,忘记了刚才在干啥了,哎,刚才在干啥呢。。
打包、传代码这种事一看就是可以自动化做的事情,怎么还让我们来手动操作呢
看看正确的做法
来看看我是怎么传代码的,点击立即构建,沟通群就收到消息 @测试,前端已经传好代码啦
是什么
这么好用的到底是啥呢?
Jenkins 作为领先的开源自动化服务,Jenkins 提供了数百个插件来支持构建、部署和自动化任何项目。
安装链接: www.jenkins.io/doc/book/in…
配置教程
安装插件
系统管理->插件管理:安装插件 Publish Over SSH
ssh上传的关键插件
添加凭据
系统管理-凭据管理:添加凭据
这里我们是git私有仓库,需要账号密码,这里创建一个通用的拉代码的账号
配置nodejs版本
系统管理-全局工具配置
配置ssh服务器
系统管理-系统配置
添加任务
添加一个流水线任务,一般现在都用这个
配置任务
配置了那么多,终于来到了最重要的任务配置了
主要的是我们流水线脚本怎么写了
看这么复杂的脚本,其实就3步,拉代码,打包,传代码
pipeline {
agent any
stages {
stage('view') { //阶段名字,自己定义
steps {
dir('view') {//指定凭据git_jenkins从git拉代码到view文件夹
git branch: 'test', credentialsId: 'git_jenkins', url: 'http://git.xxxxx.com/project1'
}
}
}
stage('npm') {
steps {
nodejs('nodejs14') {//使用nodejs14版本,打包
dir('view') {
sh 'npm install -g yarn'
sh 'yarn install'
sh 'yarn run build'
}
}
}
}
stage('tar') {//压缩
steps {
sh 'pwd && cd view/dist && tar -cf ../../dist.tar *'
}
}
stage('sshPublisher') { //上传文件
steps{
sshPublisher(publishers: [sshPublisherDesc(configName: 'deve_test', sshCredentials: [encryptedPassphrase: '{+/afdsasdf++fYYnrlhLX2sa}', key: '', keyPath: '', username: 'root'], transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''cd /data/websites/test/vue/main
pwd
tar -xf dist.tar''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/data/websites/test/vue/main', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'dist.tar')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
}
sshPublisher这一步需要我们用流水线语法生成
点击流水线语法,单独生成最后一步
把生成的代码,放到最后一步
立即构建
点击立即构建,在服务器应该就能看到这样的文件
总结
jenkins作为自动化部署服务,可以做任务自动化相关的任务,前端打包,后端打包、测试、服务发布等等
例如:git代码push后自动打包