一、请确保当前服务器安装了docker和jenkins,没安装的请看《在centos7系统安装docker及用docker安装jenkins》
(jenkins里面的目录路径为/var/jenkins_home相当于之前安装系统里面的/home/var/jenkins/)
二、jenkins相关插件的安装
1、安装Publish Over SSH插件用于SSH连接远程的服务器。
登录 jenkins 管理系统首页,打开“系统管理”--“管理插件” 搜索 Publish Over SSH 然后勾选安装
2、安装 NodeJs插件 用于vue项目打包构建。
打开“系统管理”--“管理插件” 搜索 nodejs 然后勾选安装
打开“系统管理”--“Global Tool Configuration” 拉到底部 配置 node 版本,如图:
三、配置远程服务器的连接
1、打开“系统管理”--“系统设置” 找到 “Publish over SSH” 项 ,我这里远程服务器用的是ssh登录,通过ppk密钥进行连接,所以我的配置如图,如果是帐号密码登录的Passphrase填写密码Username填写用户名,path to key 为空就可以了。
2、点击 Test Configuration 按钮测试连接是否成功
四、配置自动部署任务
1、新建任务:点击“新建”--填写任务名称,选择“构建一个自由风格的软件项目”然后保存,如图:
2、配置git,进入任务配置,选择源码管理 ,我这里是git下载项目,所以选择 git ,因为是开源的,所以没有填写账号密码,如图
3、设置构建环境,选择 Provide Node & npm bin/ folder to PATH 然后选择之前安装插件时候配置的node版本,如图
4、配置项目自动化打包,选择 增加构建步骤 ---Excute shell 这个是运行相关的sh命令
cd /var/jenkins_home/workspace/test #进入test项目目录
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
npm install
npm run build
cd dist
rm -rf test.tar.gz #删除上次打包生成的压缩文件
tar -zcvf test.tar.gz * #把生成的项目打包成test方便传输到远程服务器
cd ../
5、把打包好的项目文件发布到远程服务器
选择“构建后操作步骤”---“Send build artifacts over SSH” 。
Name:第三步创建的远程服务器名称
Source files:本地需要传输过去的文件路径
Remove prefix:过滤掉的目录名
Remote directory:远程服务器的保存路径
Exec command:传输完成后在远程服务器执行的sh命令
cd /home/wwwroot/test #进入远程服务器的test目录
tar -zxvf test.tar.gz -C dist/ #解压test文件到dist文件夹
rm -rf test.tar.gz #删除test文件
6、保存后点击“立即构建”查看任务是否构建完成,Console Output 菜单可以查看构建日志。