Jenkins +svn +maven +tomcat+ ansible 自动化批量部署
Jenkins +svn +maven +tomcat+ ansible 自动化批量部署
一.部署svn
yum install subversion

先创建目录
mkdir /home/svn
创建版本库
1 cd /home/svn //先进入svn目录
2svnadmin create /home/svn/test //用svn管理员创建proname库
3 cd /home/svn/test //进入库
4.subversion目录说明
db目录:就是所有版本控制的数据存放文件。
hooks目录:放置hook脚本文件的目录。
locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。
format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。
进入conf目录(该svn版本库配置文件)cd conf/
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件

5.svn配置文件
[root@localhost conf]# vi svnserve.conf
[general]
anon-access = read
auth-access = write
authz-db = /home/svn/test/conf/authz
realm = /home/svn/test
权限配置
[root@localhost conf]# cat authz
########用户组############
manager = boss
server = server1,server2
clinet = client1,clinet2
art = art1,art2
design = design1,design2
##########权限##############
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
test=rw
配置密码
[root@localhost conf]# cat passwd
[users]
# harry = harryssecret
# sally = sallyssecret
test=test123
Svn启动命令
svnserve -d -r /home/svn/test
Svn链接工具使用小乌龟
二.下载jenkins安装包
首先去jenkins官网下载jenkins,官网有两个下载的选择:
如果是公司使用,建议选择左边的。
如果是个人使用,可以使用右边的
http://archives.jenkins-ci.org/war/2.121/jenkins.war
将该包直接放到tomcat /webapps下面即可,启动tomcat
部署tomcat
JAVA_HOME=/usr/local/java/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
###########################################
直接写入到 tomcat 的catalina.sh 文件中。
JAVA_HOME=/usr/local/java/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib/
CATALINA_BASE=/home/usr/local/tomcat
CATALINA_HOME=/home/usr/local/tomcat
JAVA_OPTS="-server -Xms3200m -Xmx3200m -XX:PermSize=256M -XX:MaxNewSize=1024m -XX:MaxPermSize=512m -Djava.awt.headless=true "
tar xf apache-tomcat-7.0.62.tar.gz
安装git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
tar xf git-2.8.3.tar.gz
cd git-2.8.3/
make prefix=/usr/local/git all
make prefix=/usr/local/git install
三.部署maven
apache-maven-3.5.3-bin.tar.gz
tar xf apache-maven-3.5.3-bin.tar.gz
[root@localhost local]# cat /etc/profile
export PATH="$PATH:$MYSQL_HOME/bin"
export MAVEN_HOME=/usr/local/apache-maven-3.5.3
export PATH=$MAVEN_HOME/bin:$PATH:/usr/local/nexus/bin
export PATH=$PATH:/usr/local/git/bin
source
/etc/profile
[root@localhost local]# mvn -V

配置maven 文件

[root@localhost conf]# vi settings.xml
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://192.168.10.148:8081/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profile>
<id>env-dev</id>
<activation>
<property>
<name>target-env</name>
<value>dev</value>
</property>
</activation>
<properties>
<tomcatPath>/path/to/tomcat/instance</tomcatPath>
</properties>
</profile>
-->
<distributionManagement>
<repository>
<id>releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.10.148:8081/repository/maven-public/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.10.148:8081/repository/maven-public/</url>
</snapshotRepository>
</distributionManagement>
</profiles>
四:部署nexus 私有库
1.部署nexus
下载地址
https://www.sonatype.com/download-oss-sonatype
nexus-3.10.0-04-unix.tar.gz
tar xf nexus-3.10.0-04-unix.tar.gz
建立软连接 ln -s nexus-3.10.0-04 nexus
## 进入nexus的配置文件目录
cd nexus
## 拷贝一份配置文件,不要直接修改default文件
## nexus管理程序运行在jetty上,默认端口为8081
## 可以编辑nexus.properties修改
cp nexus-default.properties nexus.properties
## 配置运行时用户
cd nexus
## 编辑nexus.rc文件
vi nexus.rc
run_as_user=root
nexus start
初始帐号与密码:admin,admin123

五.配置安全信息
- 系统设置
- 安装插件
Maven Repository Server Plugin
Pipeline Maven Integration Plugin





- 可以点击test configure 成功会出提示

- 第二台主机ssh

- 添加保存

- 配置系统安全





六.新建项目
- 构建名字


七.项目构建配置
- 构建任务

- 源码管理

- 构建触发器

- 构建环境

- 构建

- 构建后操作

最后点击 ->应用—>保存
7立即构建, 成功会显示蓝色
.点击
- 成功。
八.配置ansible 使用自动批量分发部署。
Jenkins +svn +maven +tomcat+ ansible 自动化批量部署的更多相关文章
- Jenkins+SVN+maven+Tomcat构建自动化集成任务
Jenkins安装方法详解:https://www.cnblogs.com/lizhe860/p/9901257.html 一.安装maven插件 1.依次进入系统管理→插件管理→可选插件, 找到Ma ...
- 项目持续集成环境(jenkins + SVN + maven + tomcat)
整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...
- Jenkins+SVN+Maven+shell 自动化部署实践
JAVA环境中利用Jenkins+svn+maven进行自动化部署实践 一. 前言2 1.介绍jenkins2 1.本地项目打包2 2.通过secureCRT工具,手动传输到服务器2 3.然后 ...
- jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署
一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...
- Jenkins+svn+ant+tomcat持续集成
转载自 http://www.cnblogs.com/liuhaixia/p/7267473.html Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作.通过Jenkins+ ...
- JavaWeb+SVN+Maven+Tomcat +jenkins实现自动化部署
网址:https://blog.csdn.net/liyong1028826685/article/details/88289218 在日常开发项目中常见的开发模式是使用代码库来存放我们的项目例如:S ...
- Docker搭建Jenkins+Gogs+Maven/Gradle——代码自动化运维部署平台(三)
一.简介 1.CI/CD CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一个面向开发和运营团队的解决方案,CI/C ...
- Jenkins2.32.1+svn+maven安装配置与构建部署
这两天学习了一下持久化集成工具Jenkins,在自己的本地搭建一个简单的Jenkins环境. 使用环境:Windows64系统,JDK1.8,eclipse,svn(Windows版本VisualSV ...
- Jenkins+svn+maven
首先我们在我们的服务器上安装好svn和maven 这里在前两步骤基本上没有啥问题,主要就是在Jenkins的步骤我弄了好长时间,这里记录一下 Jenkins的问题我是在这个网址解决的:http://b ...
随机推荐
- Hadoop HBase概念学习系列之数据模型(七)
HBase是一个类似BigTable的分布式数据库, 它是一个稀疏的长期存储的(存在硬盘上).多维度的.排序的映射表.这张表(HBase)的索引是行关键字.列关键字和时间戳. HBase中的数据 ...
- 一、MySQL中的索引 二、MySQL中的函数 三、MySQL数据库的备份和恢复 四、数据库设计和优化(重点)
一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放 ...
- November 27th 2016 Week 48th Sunday
It is never too late to be what you might have been. 勇敢做自己,永远不嫌迟. What I might have been? Experienci ...
- 【转】.net core 一次坑爹的类库打包过程
自己遇到这个问题,记录一下,原文链接:http://www.cnblogs.com/Hai--D/p/5776463.html. 众所周知,.net core 跨平台类库引用一定要通过nuget获得. ...
- jQuery复制table header到表格的最下面
为了让table具有更好的可读性,我们可以将表格的header信息克隆一份到表格的底部,这种特效通过JQuery就很容易实现: 1 2 3 4 5 var $tfoot = $(''); $($('t ...
- @SpringBootApplication无法被解析引入
问题描述:@SpringBootApplication无法被解析引入,导致SpringBoot启动类报错 原因分析:springboot的包冲突了所致 解决方案: 需要删掉 repository\or ...
- SQLSERVER 数据类型int、bigint、smallint 和 tinyint范围
[bigint] 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. [int ...
- highcharts柱状图实现legend和数据列一一对应效果
var cate = ['Green', 'Pink']; Highcharts.chart('container', { chart: { type: 'column' }, legend: { e ...
- Jmeter之集合点与关联
在Jmeter中,实现类似于LoadRunner中集合点的方法是采用同步定时器(Synchronizing Timer),而实现类似于LoadRunner中关联的方法是采用正则表达式提取器. 一.集合 ...
- HDU 1950(LIS)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1950 Bridging signals Time Limit: 5000/1000 MS (Java ...