JAVA环境中利用Jenkins+svn+maven进行自动化部署实践

 

一、 前言2

1.介绍jenkins2

1.本地项目打包2

2.通过secureCRT工具,手动传输到服务器2

3.然后手动输入命令发布2

二、 安装jdk2

1.下载jdk3

2.安装jdk3

三、安装tomcat3

1.下载安装包3

2.用secureCRT连接服务器4

3.Tomcat压缩包移到local目录下后解压4

4.启动Tomcat6

四、下载jenkins6

1.下载jenkins war包6

2.安装目录6

3.初始管理员账号密码7

4.选则默认插件即可7

5.设置管理员 用户密码8

6.登录jenkins8

五、使用jenkins9

1.下载插件然后点击系统管理下的系统设置10

2.这里主要是配置执行操作的服务器信息,以便后续 使用11

附、attach about jenkins command单击此处输入文字。19

一、 Linux-command之防火墙操作常用命令19

1.在指定区域打开端口(记得重启防火墙)19

2.查看指定区域所有打开的端口19

3.删除端口19

4.CentOS7使用firewalld打开关闭防火墙与端口19

5.firewalld的基本使用19

二、 Linux-command之jenkins控制台交换空间设置20

三、 设置交换空间第二种方法21

一、前言

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检查是否成功

https://www.linuxidc.com/Linux/2016-09/134941.htm##1

 

=============================================================================

 

三、安装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

Jenkins+SVN+Maven+shell 自动化部署实践的更多相关文章

  1. jenkins+git+maven搭建自动化部署项目环境

    简介    折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...

  2. jenkins实现maven项目自动化部署tomcat

    最近公司有用到jenkins实现自动化部署,这里我对新的东西也是比较感兴趣,就用了点时间尝试了一下,虽然网上有很多这种例子,但是可能有些细节我也走了一些弯路.在这里记录一下,方便下次用到. 实现环境: ...

  3. Linux 部署jenkins + svn + mavne + tomcat8自动化部署

    1,下载Jenkins  war包   官网下载地址 https://jenkins.io/ 2.初始化安装 1)首次启动jenkins,出于安全考虑,jenkins会生成一个随机的口令到 /root ...

  4. Jenkins +svn +maven +tomcat+ ansible 自动化批量部署

    Jenkins +svn +maven +tomcat+ ansible 自动化批量部署 一.部署svn yum install subversion 先创建目录 mkdir /home/svn 创建 ...

  5. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  6. 基于Jenkins,docker实现自动化部署(持续交互)

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  7. .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统

    .NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言     相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...

  8. 基于Jenkins,docker实现自动化部署(持续交互)【转】

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  9. 基于 Docker 和 GitLab 的前端自动化部署实践笔记

    基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...

随机推荐

  1. teamcity build web project arguments

    /p:Configuration=%system.Configuration%  => Release /p:DeployOnBuild=%system.DeployOnBuild%  => ...

  2. C#代码中设置 控件的触发器

    Style style = new Style(); style.TargetType = typeof(TextBox); MultiDataTrigger trigger = new MultiD ...

  3. Apache Cordova介绍

    原文:Apache Cordova介绍 Apache Cordova是一套设备API,允许移动应用的开发者使用JavaScript来访问本地设备的功能,比如摄像头.加速计.它可以与UI框架(如jQue ...

  4. 未在本地计算机上注册“microsoft.ACE.oledb.12.0” 解决方法

    今日写一个浏览Excel文件的代码,忽然发现提示如下错误,表示很惊讶,因为我的另外一台电脑不会,但是这台就包这个异常. 解决方法: 去http://download.microsoft.com/dow ...

  5. IIS 设置文件可下载

    IIS遇到了文件不能下载的问题.为了让IIS能下载扩展名是INI的文件,我们需要如此操作:(括号内的是英文版本的名字) 打开“IIS管理器(InternetInformationServices(II ...

  6. Newtonsoft.Json高级用法之枚举中文转义

    最近看博客园中 焰尾迭的两篇关于"Newtonsoft.Json高级用法"的文章受到了很多人的评论,一度登入到头条推荐. 今天我就不再重复焰尾迭博文中的一些提过的Newtonsof ...

  7. OpenDJ Roadmap

    Roadmap https://wikis.forgerock.org/confluence/display/OPENDJ/OpenDJ+Roadmap Forum https://forum.for ...

  8. linux+php+swoole解决方案

    服务器接收巨量的并发我使用linux+php+swoole解决方案.简单快速高效 并发量大 稳定 http://www.swoole.com/

  9. Delphi开发 Android 程序启动画面简单完美解决方案

    原文在这里 还是这个方法好用,简单!加上牧马人做的自动生成工具,更是简单. 以下为原文,向波哥敬礼! 前面和音儿一起研究 Android 下启动画面的问题,虽然问题得到了解决,但是,总是感觉太麻烦,主 ...

  10. 使用C#的HttpWebRequest模拟登陆访问人人网

    使用任何语言做模拟登陆或者抓取访问页面,无外乎以下思路: 第一 启用一个web访问会话方法或者实例化一个web访问类,如.net中的HttpWebRequest:第二 模拟POST或者GET方式提交的 ...