JAVA环境中利用Jenkins+svn+maven进行自动化部署实践
一、前言
1.介绍jenkins
本篇的系统环境为Linux,在安装之前,我想说明下本文的目的,jenkins是一款持续集成工具,它可以做的事情很多,其中一个主要的功能就是简化部署流程
*回想一下我们的发布流程:
1.本地项目打包
2.通过secureCRT工具,手动传输到服务器
3.然后手动输入命令发布
*有了jenkins以后,发布流程可以是这样:
1.用户在jenkins上点击某个按钮进行发布
2.jenkins收到发布命令
3.jenkins从SVN上把源代码download下来
4.jenkins根据你设置的mvn命令进行打包
5.jenkins把你打包的好的war工程传输到tomcat的webapps目录下
6.tomcat启动,浏览器输入请求路径访问项目
*对于程序员而言,只要做两件事:
1.在jenkins上配置某个项目的部署流程
2.在jenkins上点击某个项目的部署按钮,进行一键部署
*实际上,配置往往只做一次,其余的时候,你只要一键部署就可以了
博主综合网上查找资料以及部署实践随笔
二、安装jdk
1.下载jdk
jdk去官网下载,此处我下载的是jdk1.8 注意:linux系统的jdk包是tar.gz后缀
2.安装jdk
以下链接是安装jdk步骤链接,参考安装,在这不做多讲解,安装后输入 java -version检查是否成功
=============================================================================
三、安装tomcat
1.下载安装包
前往tomcat官网下载最新tomcat安装包,此处我下载的是apache-tomcat-8.5.40.tar.gz
2.用secureCRT连接服务器
命令 cd /usr/local/
此位置可根据需求继续修改,但推荐放在/usr/local/下,因为此文件夹为用户软件安装空间。此处我多了一层目录,你们可以修改
3.Tomcat压缩包移到local目录下后解压
命令:
打开目录:cd /usr/local/
解压压缩包:tar -zxvf apache-tomcat-8.5.40.tar.gz
需配置一下tomcat/conf/tomcat-users.xml 配置如下 命令:vim tomcat-users.xml
添加后按esc :wq! Enter保存退出
修改tomcat配置文件。进入tomcat的bin目录
#cd /usr/local/tomcat/bin/
#vim catalina.sh
在85行下添加
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
配置内存大小,修改完成后保存配置
4.启动Tomcat
打开tomcat下bin目录
启动tomcat 命令:./startup.sh
启动成功后打开浏览器访问 http://+服务器ip地址+8080/
访问成功后显示tomcat界面
===============================================================================
四、下载jenkins
1.下载jenkins war包
用secureCRT工具,命令打开webapps目录直接把下载好的jenkins war包拖进去即可,下面是我找的war包下载链接
http://ftp-nyc.osuosl.org/pub/jenkins/war/2.174/jenkins.war
2.安装目录
将下载好的war包放到tomcat的webapps目录下:放入webapps目录下后启动jenkins
命令:java -jar jenkins.war
打开浏览器访问http://+服务器ip地址+8080/+jenkins(目录名)
3.初始管理员账号密码
第一次安装需要初始管理员密码
初始密码在jenkins目录下jenkins/serets/initialAdminPassword
编辑该文件复制密码--命令:vim initialAdminPassword
[root@7mini-node2 contos]# cat /var/lib/jenkins/secrets/initialAdminPassword
a93553a4865b45198ae28f77877efe19(密码格式)
4.选则默认插件即可
5.设置管理员 用户密码
6.登录jenkins
使用刚刚设置的账号密码登录jenkins,可以选择保持登录状态(记住账号密码)
五、使用jenkins
使用设置的账号登录后 --进入主页 如下图--
1.推荐安装的插件中没有ssh、svn、deploy to container等插件 先安装需要的插件,操作步骤如下图,点击系统管理---->插件管理
2.点击系统管理下的插件管理
3.安装以下插件,
1.下载插件然后点击系统管理下的系统设置
2.这里主要是配置执行操作的服务器信息,以便后续 使用
(1)点击新建任务
(2)输入构建任务名,在这里我们选择maven项目 然后点确定
(3)源码管理选择svn 填写项目的svn地址。和用户名账号密码 填写完后红色提醒消失则配置正确
(4)没有配置的可以点右边的添加,配置用户名密码 ,描述自定义 其他默认
(5)配置完了然后点保存
小问题:由于第一个构建任务没有发布的操作,我们再新建一个任务,在第一个任务构建后触发
以下是执行发布操作命令 shell脚本 需以#!/bin/bash 开头 这里填写信息仅供参考
Ps -ef -----------------------------kill -9 是停止项目运行
Cd----------- 打开服务器下jenkins工作空间目录下 jar包的的存放路径,图片路径仅供参考
Java -jar -------------- 运行jar包发布
配置完成后点保存
构建第一个项目
------------attach about jenkins command-------
一、Linux-command之防火墙操作常用命令
1.在指定区域打开端口(记得重启防火墙)
firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)
2.查看指定区域所有打开的端口
firewall-cmd --zone=public --list-ports
3.删除端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent 如果报错public 则去掉public
4.CentOS7使用firewalld打开关闭防火墙与端口
5.firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
二、Linux-command之jenkins控制台交换空间设置
1.首先使用free -m命令查看内存使用情况和swap的大小
2. 关闭swap:
3. 设置swap的大小
bs指的是Block Size,就是每一块的大小。这里的例子是1M,意思就是count的数字,是以1M为单位的。
count是告诉程序,新的swapfile要多少个block。这里是1024,就是说,新的swap文件是5G大小。
注意:可能需要点时间完成此步,耐心等待完成。
4. 把增大后的文件变为swap文件:
5. 重新打开swap:
6. 让swap在启动的时候,自动生效。打开/etc/fstab文件,加上以下命令。然后保存。
7. 再次查询swap大小:
三、设置交换空间第二种方法
Linux系统上可以同时有多个swap,用swapon -s命令可以看到系统上所有的swap,用free命令看到的是swap总的大小。所以swap不够用时可以再建立一个swap,一般可以用文件的方式建立一个swap空间。下面以1G大小的文件为例介绍如何用文件建立内存交换空间:
1. 使用dd命令在某个目录(实际使用时换成其他目录,/tmp目录的数据会在重启后丢失)下新建一个1G的文件:
dd if=/dev/zero of=/tmp/swap bs=1M count=1024
解释:1M是单位,1024是数目,合计1024M就是总大小1G
2. 格式化这个文件为swap格式:(用mkswap命令)
mkswap /tmp/swap
3. 启动swap,用swapon命令(就是将新建的swap添加到系统):
swapon /tmp/swap
4. 查看效果(用swapon的-s参数):
swapon -s
可以看到所有的swap分区,如果成功了,/tmp/swap必然在里面。然后再用free命令查看,就可以看到swap空间增加了。
版本说明 | 版 本 | 号 | 负 | 责 | 人 | 时间 |
初始化jenkins文档 | v1.0 | 陈 | 2019/04/28 | |||
1. 前言 |
|
|
| |||
2. 安装jdk |
|
|
| |||
3. 安装tomcat |
|
|
| |||
4. 下载jenkins |
|
|
| |||
5. 使用jenkins |
|
|
| |||
6. 附带linux命令(about jenkins) | v2. 0 | 陈 | 2019/06/26 |