svn 只支持java项目吗,使用jenkins+svn自动部署java/vue项目

之前发布代码需要每次本地打包-->发到服务器-->重启tomcat等一系列操作,服务器多了会很繁琐,使用jenkins可以自动部署和统一管理,解放人力,挤出很多喝茶时间。

1、下载jenkins.war

官网地址 http://jenkins-ci.org/

下载最新版本

http://mirrors.jenkins-ci.org...

2、把下载的war包放到到服务器tomcat的webapps目录下,启动tomcat

3、启动成功后log会打印一个UUID密码,复制,登陆时用

4、输入tomact地址,进入jenkins首页,会提示自动安装需要的插件(如果不能在线安装,需要去自己下载之后上传

插件下载地址 http://updates.jenkins-ci.org...

5、创建项目.

  首页点击新建item f58263064d86a31bdb0021eda1ad3582.png

创建一个自由风格项目,自定义一个名称projectName,确认

848d91213aa8132772ce357393fbc245.png

6、配置svn,点击add 添加自己的svn账户

8da0b103d876fff0a975a3e24bbd9234.png

7、配置触发器(指定时间自动部署)

不需要自动触发的同学可略过此步骤,之后手动点击`立即构建`按钮即可

05 10 * * * 为cron表达式,表示每天上午10:05

3456ccc22507a619da3526f14f0682ae.png

8、设置execute shell(部署时执行的脚本)

这里用java项目举例

BUILD_ID=DONTKILLME

# ProjectName是刚才**第5步**中填入的名称,jenkins默认工作空间为/root/.jenkins/workspace

cd /root/.jenkins/workspace/projectName/

# 将代码打包

mvn package

# 将打包后的代码移到服务器的tomcat目录下,这里我自己写了一个deploy.sh去处理copy-解压-备份-重启tomcat等一系列操作

cd /root/.jenkins/workspace/projectName/target

mv projectName.war /home/shibo && deploy.sh

以上shell脚本只是举例,具体可根据自己需求更改,比如vue的话就将mvn package改为npm run build......

到这就可以保存了,然后测试一下是否可以正常使用。首页点击制定项目下三角,点击立即构建即可。

6d432bbe5aa0dd206e48821714577283.png

下面是我在搭建的时候遇到的一些问题,仅供参考:

1、第一次登录后下线,第二次不能用user账户登陆

解决方法:去/root/.jenkins/secrets下找到initialAdminPassword ,复制密码,用admin登陆

2、maven分布式子项目没有web.xml,导致mvn打包报错

解决方法:在pom.xml中添加

false

3、execute shell中执行deploy.sh脚本时,有用到shutdown.sh和startup.sh两个命令,

发现tomcat关闭后,startup不能自动启动

原因是execute会自动kill掉tomcat

解决方法:在execute shell第一行添加BUILD_ID=DONTKILLME

4、execute shell时,有时有一些不是很重要的脚本命令出错,我们需要忽略他们,继续执行,

需要点开 高级-->设置Exit code to set build unstable = 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值