Jenkins+Vue+SVN实现代码提交后自动构建自动部署发布

458 阅读3分钟

一、CentOS 安装 Jenkins

Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。需要先安装Java,如果已经Java可以跳过该步骤。

安装Java

看到当前系统Java版本的命令:

java -version

如果显示Java版本号,说明已经正确安装,如果显示没有该命令,需要安装Java

sudo yum install java

该命令如果检测到Java不存在可以直接安装Java,如果已存在则可以升级Java

Jenkins安装

添加Jenkins库到yum库,Jenkins将从这里下载安装。

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

sudo yum install jenkins

启动Jenkins

使用命令启动Jenkins:

sudo service jenkins start

Starting Jenkins [ OK ]

在浏览器中输入:http://<服务器ip>:8080/就可以进入Jenkins界面直接使用了 。

启动报如下错误

Starting Jenkins bash: /usr/bin/java: No such file or directory

修改Jenkins启动配置文件,指定java安装路径。

1.获取java安装路径。

which java

2.进入vim /etc/init.d/jenkins

candidates中第一行添加java路径,如下:

candidates="
/opt/soft/jdk1.8.0_60/bin/java

/etc/alternatives/java

/usr/lib/jvm/java-1.6.0/bin/java

/usr/lib/jvm/jre-1.6.0/bin/java

/usr/lib/jvm/java-1.7.0/bin/java

/usr/lib/jvm/jre-1.7.0/bin/java

/usr/lib/jvm/java-1.8.0/bin/java

/usr/lib/jvm/jre-1.8.0/bin/java

/usr/bin/java

"

在浏览器中访问

首次进入会要求输入初始密码如下图,

初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

image.png

image.png

选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。

image.png

image.png

image.png

进入配置页面

image.png

必备的插件安装

系统管理-插件管理

image.png

安装Publish over SSH,NodeJS,安装的时候选择下方的

image.png

# 相关配置

系统设置-全局系统设置

image.png

Publish over SSH配置

系统管理-系统设置,拉到最下面

image.png

image.png

这里大家记下配置Remote Directory,后面会有用处说明,下面只会说Remote Directory

NodeJs配置

系统管理-全局工具配置

image.png

找到NodeJs

image.png

点击NodeJS installations按钮

image.png

创建任务

回到首页,点击new

image.png

image.png

image.png

image.png

image.png

#Command

#执行打包的一些操作,不用多介绍

#tar -zcvf dist.tar.gz *的意思是将dist目录打成一个压缩包

#---------------------------------------------------

npm install

npm run build

cd dist

rm -rf dist.tar.gz

tar -zcvf dist.tar.gz *

cd ../

#Exec command

#cd进入xxx目录,该xxx目录就是上面配置的Remote Directory,不记得的可以翻上去看看,因为打包好的包是发送到该目录的

#此处也有个Remote Directory,该项是填写上面所配置的Remote Directory地址的相对路径

#打个比方,最上面Remote Directory配置的路径是/var/html/www,www下面有个admin目录,如果不填该项,打包好的包是发送到/var/html/www这个路径下,如果填了,比如填了/admin,包就会发送/var/html/www/admin目录下面

#rm -rf `ls * | grep -v (dist.tar.gz|admin)` 删除该目录下的所有文件,除了dist.tar.gz和admin目录

#tar -zxvf dist.tar.gz 解压压缩包到当前目录

#rm -rf dist.tar.gz 删除该压缩包

#---------------------------------------------------

cd xxx

rm -rf `ls * | grep -v (dist.tar.gz|admin)`

tar -zxvf dist.tar.gz

rm -rf dist.tar.gz

最后点Save保存

image.png

任务列表

回到首页就可以看到添加的任务了

image.png

立即构建测试

可以点击立即构建进行测试下是否会执行成功

任务开始后Build HIstory会有任务出现,点击左侧的小圆球可以进去到console日志输出界面

image.png

image.png

image.png

至此教程结束,后面代码提交后1分钟内会监测到有更新会自动开启任务自动打包发布

参考文档:

blog.csdn.net/liub37/arti…

www.jianshu.com/p/104fd563e… iOS

www.jianshu.com/p/c391f3aa6… android