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. 内存可用性判断 IsBadCodePtr IsBadReadPtr 等等

    程序异常崩溃,多数是有内存访问异常引起.为定位崩溃位置通常考虑加强内存访问控制,如此有必要进行内存可用性判断,从<Windows核心编程>中看到内存指针的可用性判断方法,感觉还不错,此处记 ...

  2. 关于VS编译DevExpress默认产生几个多余的语言包的问题解决

    原文 关于VS编译DevExpress默认产生几个多余的语言包的问题解决 VS15开始对于非系统的Dll都会默认复制到本地,即bin\debug下面,复制dll到本地好处在于发布的时候不用再去寻找相关 ...

  3. mysql练习(一)

    练习一 创建表,并插入相关数据 CREATE TABLE email ( ID INT NOT NULL PRIMARY KEY, Email VARCHAR() ) INSERT INTO emai ...

  4. C#的Task、async、await关键字

    Task,一个类,可以执行一个方法,构造函数需要传一个Action类型的委托,Action类型的委托是可以拥有多个参数,没有返回值的. Task<T> Task的泛型,构造函数传入一个Fu ...

  5. 修改用户名后TSF出现"需要本地工作区。工作区 xxx 并未驻留在本计算机上"

    解决方法就是:1,打开vs下的"开发人员命令提示"2,按下面格式输入命令:tf workspaces /collection:http://192.168.0.110:8080/t ...

  6. ML:吴恩达 机器学习 课程笔记(Week7~8)

    Support Vector Machines Unsupervised Learning Dimensionality Reduction

  7. Oracle 裁掉北京研发团队,相应职位撤回美国(收购了NetSuite,LogFire,Dyn)

    根据中国日报报道,2017年1月14日上午9点09分,甲骨文北京研发团队的同事收到了来自BU老大的一封邮件.邮件上提及,由于市场变化,甲骨文开始整合各研发中心资源公司在云计算方向发力,文末单独提出了甲 ...

  8. Ubuntu下使用Docker搭建MySQL步骤备忘

    docker 安装和 pull MySQL镜像这里就不介绍了,很多介绍,建议去docker官方网站查看. 本文主要介绍MySQL container 运行起来之后的一些配置 在往下看之前,确保 doc ...

  9. Codility----OddOccurrencesInArray

    Task description A non-empty zero-indexed array A consisting of N integers is given. The array conta ...

  10. 分享五个404页面模板 超好看的404页面你的网站离不了 seo优化404

    一个完整的网站离不开一个好的404页面,404页面不光是让你的网站美观,它对SEO的作用也很大,你想一下如果用户打开你的网站,输入一个不存在的风址,如果没有404直接就报错了,有了404就能打开一个美 ...