摘要:之前发布代码需要每次本地打包发到服务器重启等一系列操作,服务器多了会很繁琐,使用可以自动部署和统一管理,解放人力,挤出很多喝茶时间。首页点击制定项目下三角,点击立即构建即可。
之前发布代码需要每次本地打包-->发到服务器-->重启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
创建一个自由风格项目,自定义一个名称projectName,确认
6、配置svn,点击add 添加自己的svn账户
7、配置触发器(指定时间自动部署)
不需要自动触发的同学可略过此步骤,之后手动点击`立即构建`按钮即可 05 10 * * * 为cron表达式,表示每天上午10:05
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......
到这就可以保存了,然后测试一下是否可以正常使用。首页点击制定项目下三角,点击立即构建即可。
下面是我在搭建的时候遇到的一些问题,仅供参考:
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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/71656.html
摘要:上午折腾了一下持续集成,由于公司使用自己搭建的服务器来进行代码管理,因此这里是针对服务器来进行的配置,后面稍微介绍了下针对管理的项目的配置之前项目每次修改之后都需要本地一次手动发布到服务器上方便测试和产品查看,有了持续集成之后只要或者提交之 上午折腾了一下Jenkins持续集成,由于公司使用自己搭建的svn服务器来进行代码管理,因此这里Jenkins是针对svn服务器来进行的配置,后面...
摘要:由于拉取有文件会自动拉取。那么需要在后台关闭这个选项中文插件保持账户拥有者和发送邮件一致 目的 对于小组内部PHP代码进行定期检测及分发 1. 需要定期从svn 或者git拉取指定代码 2. 对代码库内部门模块进行隔离或者删除,不参与检测 3. 为小组内人员定期发送邮件, 4. 可分配具体bug 给具体小组内人员 jenkins安装及安装插件 1. sonar搭建可以参考 [之前文章...
摘要:持续集成,持续交付当然也有叫通常会采用一些软件如等来辅助我们。这时可以通过仓库自带的来触发。这里的最好是可以支持,关于,大家可以理解为类似的功能。关于如何取出服务地址并自动添加记录的原理,可以参考我之前的一篇文章文中第三部分有详细描述。 CI(Continuous Integration)持续集成,CD(Continuous Delivery) 持续交付(当然也有叫 Continuou...
摘要:在本教程中,我们将使用在上部署和伸缩。它主要用来帮助操作人员部署伸缩更新和维护服务,以及提供服务发现机制来管理节点集群上的容器化应用程序。代理则使用,网络启动协议启动,因此容器能够在启动和运行之后自动连接到。账户我们将在上部署集群。 在本教程中,我们将使用Rancher在Kubernetes上部署和伸缩Jenkins。按照本文的步骤一步步来,你将会使用到我们用来测试实际构建作业的mas...
阅读 2501·2023-04-25 22:09
阅读 1017·2021-11-17 17:01
阅读 1534·2021-09-04 16:45
阅读 2615·2021-08-03 14:02
阅读 810·2019-08-29 17:11
阅读 3248·2019-08-29 12:23
阅读 1080·2019-08-29 11:10
阅读 3276·2019-08-26 13:48