Jenkins+SVN+Maven+shell 自动化部署实践
JAVA环境中利用Jenkins+svn+maven进行自动化部署实践
附、attach about jenkins command单击此处输入文字。19
4.CentOS7使用firewalld打开关闭防火墙与端口19
二、 Linux-command之jenkins控制台交换空间设置20
一、前言
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 自动化部署实践的更多相关文章
- jenkins+git+maven搭建自动化部署项目环境
简介 折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...
- jenkins实现maven项目自动化部署tomcat
最近公司有用到jenkins实现自动化部署,这里我对新的东西也是比较感兴趣,就用了点时间尝试了一下,虽然网上有很多这种例子,但是可能有些细节我也走了一些弯路.在这里记录一下,方便下次用到. 实现环境: ...
- Linux 部署jenkins + svn + mavne + tomcat8自动化部署
1,下载Jenkins war包 官网下载地址 https://jenkins.io/ 2.初始化安装 1)首次启动jenkins,出于安全考虑,jenkins会生成一个随机的口令到 /root ...
- Jenkins +svn +maven +tomcat+ ansible 自动化批量部署
Jenkins +svn +maven +tomcat+ ansible 自动化批量部署 一.部署svn yum install subversion 先创建目录 mkdir /home/svn 创建 ...
- 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...
- 基于Jenkins,docker实现自动化部署(持续交互)
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- 基于Jenkins,docker实现自动化部署(持续交互)【转】
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- 基于 Docker 和 GitLab 的前端自动化部署实践笔记
基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...
随机推荐
- teamcity build web project arguments
/p:Configuration=%system.Configuration% => Release /p:DeployOnBuild=%system.DeployOnBuild% => ...
- C#代码中设置 控件的触发器
Style style = new Style(); style.TargetType = typeof(TextBox); MultiDataTrigger trigger = new MultiD ...
- Apache Cordova介绍
原文:Apache Cordova介绍 Apache Cordova是一套设备API,允许移动应用的开发者使用JavaScript来访问本地设备的功能,比如摄像头.加速计.它可以与UI框架(如jQue ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0” 解决方法
今日写一个浏览Excel文件的代码,忽然发现提示如下错误,表示很惊讶,因为我的另外一台电脑不会,但是这台就包这个异常. 解决方法: 去http://download.microsoft.com/dow ...
- IIS 设置文件可下载
IIS遇到了文件不能下载的问题.为了让IIS能下载扩展名是INI的文件,我们需要如此操作:(括号内的是英文版本的名字) 打开“IIS管理器(InternetInformationServices(II ...
- Newtonsoft.Json高级用法之枚举中文转义
最近看博客园中 焰尾迭的两篇关于"Newtonsoft.Json高级用法"的文章受到了很多人的评论,一度登入到头条推荐. 今天我就不再重复焰尾迭博文中的一些提过的Newtonsof ...
- OpenDJ Roadmap
Roadmap https://wikis.forgerock.org/confluence/display/OPENDJ/OpenDJ+Roadmap Forum https://forum.for ...
- linux+php+swoole解决方案
服务器接收巨量的并发我使用linux+php+swoole解决方案.简单快速高效 并发量大 稳定 http://www.swoole.com/
- Delphi开发 Android 程序启动画面简单完美解决方案
原文在这里 还是这个方法好用,简单!加上牧马人做的自动生成工具,更是简单. 以下为原文,向波哥敬礼! 前面和音儿一起研究 Android 下启动画面的问题,虽然问题得到了解决,但是,总是感觉太麻烦,主 ...
- 使用C#的HttpWebRequest模拟登陆访问人人网
使用任何语言做模拟登陆或者抓取访问页面,无外乎以下思路: 第一 启用一个web访问会话方法或者实例化一个web访问类,如.net中的HttpWebRequest:第二 模拟POST或者GET方式提交的 ...