jenkins+maven+svn+npm自动发布部署实践
一、系统版本centos7.6
二、根据jenkins官方安装方法yum安装jenkins
1、进入jenkins官网下载页面https://jenkins.io/download/,选择Red Hat/Fedora/CentOS
2、根据官方要求需首先安装java8
yum install java-1.8.0-openjdk-devel -y
3、然后导入jenkins yum源
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
4、yum安装jenkins
yum install jenkins -y
5、手动启动jenkins
/etc/init.d/jenkins start
查看8080端口启动即可
6、通过浏览器访问设置jenkins,http://192.168.0.77:8080/
初始的管理员密码,jenkins自动生成的,根据页面红色的路径找到密码,拷到下面的输入框中。
选择默认建议安装插件
7、安装完进入后选择系统管理-插件管理,手动安装Maven Integration plugin
三、系统安装maven程序
1、进入maven官网http://maven.apache.org/download.cgi#,选择maven二进制tar包下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
2、解压maven包
tar -zxvf /root/apache-maven-3.6.0-bin.tar.gz -C /usr/local
四、安装nodejs和npm
1、去官网下载nodejs二进制包https://nodejs.org
因为我们使用的是node8.11.1,我这次安装也使用这个版本
wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.gz
2、解压nodejs包
tar -zxvf node-v8.11.1-linux-x64.tar.gz -C /usr/local/
3、为了使用方便可以把nodejs命令加入到PATH路径
vim /etc/profile
export PATH=$PATH:/usr/local/node-v8.11.1-linux-x64/bin
source /etc/profile
4、npm安装包在国外,安装较慢,更换淘宝npm源
npm install -g cnpm --registry=https://registry.npm.taobao.org
五、配置jenkins上jdk和maven路径,进入系统管理-全局工具配置
六、构建项目设置
1、新建任务,构建一个maven项目
2、常规设置里面选择丢弃旧的构建,保留5天5次即可
3、源码管理选择svn,填写svn地址和svn账号密码
4、可以根据需要选择构建触发器,我这是手动构建,所以不选,构建环境选择在构建前删除原来构建项目
5、构建前步骤,因为我的项目需要首先npm打包后再给maven打包,所以在构建前需要执行shell命令进行npm打包
6、构建按如下写即可
7、构建后执行shell命令,首先远程关闭tomcat,然后删除tomcat webapps下文件,然后上传打包好的war包到tomcat下,然后启动tomcat
七、构建项目
1、点刚才创建的项目-立即构建,开始构建
2、发现最后远程执行命令报错,虽然之前也做了这两台机器无密钥登录,但是还是报错,查找原因后发现,yum安装jenkins后会自动创建一个jenkins账号,jenkins服务是以jenkins账号启动,所以需要做jenkins账号到远程部署服务器无密钥登录
这里注意几个坑:
1、默认jenkins账号是不允许登录的,需修改/etc/passwd里jenkins账号/bin/false为/bin/bash后才能切换到jenkins账号创建密钥
2、jenkins账号默认家目录是/var/lib/jenkins
3、需要开启jenkins账号sudo无密码登录,在/etc/sudoers里加入jenkins ALL=NOPASSWD:ALL
4、linux第一次ssh连接远程机器会有公钥确认提示,需要输入yes后才能继续,我们需要关闭提示,否则构建时候远程命令执行没法通过,在/etc/ssh/ssh_config里StrictHostKeyChecking ask改为StrictHostKeyChecking no,重启sshd服务
jenkins+maven+svn+npm自动发布部署实践的更多相关文章
- Jenkins+Maven+SVN搭建自动部署、自动测试环境
.打开http://10.3.15.78:8080/jenkins/,第一次进入里面没有数据,我们需要创建job,我们这有2个项目,需要创建2个job.http://10.3.34.163:9890/ ...
- jenkins+maven +svn+tomcat7集群部署(一)
在网上看了好多有关集群部署的文章,感觉都不是太连贯,非常多仅仅是给你说怎么安装而已,可是过程中遇到的问题真不少,可是也攻克了非常多问题,希望我的文章可以帮到那些想学习的人吧,jenkins主要是攻克了 ...
- jenkins+maven+tomcat集群发布
jenkins+Gitlab+maven+tomcat实现自动集成.打包.部署 - 李栋94 - 博客园https://www.cnblogs.com/lidong94/p/7427923.html ...
- jenkins+maven+svn 自动化部署
背景: 公司的web平台使用JAVA写的,但是不是用Tomcat部署的,代码内部自带了Web服务器,所以只需要有JAVA环境,将代码打包上传,启动脚本就可以. 项目是根据pom.xml打包成的是.zi ...
- Docker+Jenkins+Maven+SVN搭建持续集成环境
Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...
- jenkins+maven+docker集成java发布(二)#远程发布
jenkins+maven+docker集成java发布(一)中写了在Jenkins服务器自动部署业务,那需要将java项目部署到其他服务器怎么操作 这里需要依赖插件Publish Over SSH ...
- jenkins+maven+svn构建项目,及远程部署war包到tomcat上
要使用jenkins构建项目,当然要使用jenkins了,我使用的war版本的jenkins jenkins的官网 http://jenkins-ci.org/ 点击latest下载,但是可能因为天朝 ...
- jenkins+maven+svn实现简单的一键发布
前言 在安装之前,我想说明一下本文的目的,jenkins的一款持续集成工具, 它可以做的事情很多,其中一个主要的功能就是简化部署流程 回想一下我们的发布流程: ...
- jenkins+maven+docker集成java发布(一)自动发布
JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...
随机推荐
- iftop – 实时Linux网络带宽监控工具
在本文中,我们提出了另一个称为Interface TOP (IFTOP)的优秀程序, 它是一个基于实时控制台的网络带宽监控工具. 它将显示接口上网络活动的快速概览. Iftop 平均每 2,10 和4 ...
- 做为一个.net码农,打开公司的一个项目,大叔我哭了
先说下背景,楼主在上海,之前一直是做BS互联网开发的,今年进入这家公司,是做软件产品的小外企. 然后,啥也不说了,直接上图吧: 因为一个屏幕没有办法显示出来,所以我截了3张图,然后拼成一张,这还是我花 ...
- Windows XP添加硬盘后系统不能识别(没有任何反应)
解决方法: 1.右键我的电脑--管理--设备管理器--IDE ATA/ATAPI控制器,启用次要IDE通道和主要IDE通道,打开属性,在高级设置里,将设备类型设置为自动检测,重启. 2.硬盘格式为GP ...
- 第二次项目冲刺(Beta版本)
第二次项目冲刺(Beta版本) 团队作业7--第二次项目冲刺(Beta版本)day1 http://www.cnblogs.com/wj946/p/8017787.html 团队作业7--第二次项目冲 ...
- 探索C#字符串
一.前言 刚接触C#时,书上说string是一种特殊的引用类型,因此string类型变量在作为参数传递到另一个方法,被修改后原变量的值不会发生变化,当时看得我一脸懵逼,什么叫特殊....后来又听说字符 ...
- Win10无法启动软件提示MSVCP110.dll丢失
遇到这种问题,第一种方法可以选择去https://www.microsoft.com/zh-CN/download/details.aspx?id=30679 官网去下载 vc++ 2012 安装和自 ...
- [python] 修改Tkinter 的默认图标
先上一个不修改的样式,如下: import easygui as g g.msgbox("hello","hi") 注意左上角的图标为红色的Tk字样 修改后: ...
- FastDFS分布文件系统Java客户端使用
原文链接:http://blog.csdn.net/xyang81/article/details/52847311 Java客户端源代码和jar:链接:http://pan.baidu.com/s/ ...
- react-native-storage 使用笔记 持续更新
React-native-storage是在AsyncStorage之上封装的一个缓存操作插件库,刚开始接触这个也遇到了一些问题,在这里简单记录总结一下,碰到了就记下来,持续更新吧 1.安卓下stor ...
- 10行代码爬取全国所有A股/港股/新三板上市公司信息
摘要: 我们平常在浏览网页中会遇到一些表格型的数据信息,除了表格本身体现的内容以外,可能还想透过表格背后再挖掘些有意思或者有价值的信息.这时,可用python爬虫来实现.本文采用pandas库中的re ...