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 ...
随机推荐
- 数据库服务注册(使用命令注册):解决my.ini配置文件不存在的问题
注册数据库的时候,有一键式安装,还有一种通过压缩包安装.今天主要来讲一下压缩包安装会出现的问题. 1. 新建一个my.ini文件,里面内容为: [client] port=3306 default-c ...
- XGBoost 输出特征重要性以及筛选特征
1.输出XGBoost特征的重要性 from matplotlib import pyplot pyplot.bar(range(len(model_XGB.feature_importances_) ...
- 安装64位php开发环境
最近听说PHP5.4速度很快,所以想建立一个本地环境测试下.我打算用本地windows xp sp3下安装PHP5.4.8.Apache2.4.3和Mysql5.5.28. 首先去下载PHP.Apac ...
- memcache分布式 存取
Memcached分布式 Memcached虽然称为“分布式“缓存服务器,但服务器端并没有“分布式”的功能.Memcached的分布式完全是由客户端实现的.memcached是怎么实现分布式缓存的呢? ...
- 【译文】MySQL InnoDB 事物模型
InnoDB事物模型 事物的隔离级别 自动提交,提交和回滚 一致的非锁定读 锁定读 在InnoDB事物模型中,目标是为了多版本数据库和传统的俩段锁协议的最佳实践(多版本并发控制).InnoDB在行级别 ...
- 【转载】Java 集合框架
http://wangkuiwu.github.io/2012/02/03/collection-03-arraylist/ 网上比较全的Java集合框架教程. 注:transient是Java语言的 ...
- mysql大数据量使用limit分页,随着页码的增大,查询效率越低下
1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count当起始页较小时,查询没有性能问题 ...
- virtualbox+vagrant学习-2(command cli)-25-Machine Readable Output
Machine Readable Output机器可读的输出 每个vagrant命令都接受一个--machine-readable的标志,它支持机器可读的输出模式.在这种模式下,终端的输出被机器友好的 ...
- SSM框架之批量增加示例(同步请求jsp视图解析)
准备环境:SSM框架+JDK8/JDK7+MySQL5.7+MAVEN3以上+Tomcat8/7应用服务器 示例说明: 分发给用户优惠券,通过checkbox选中批量分发,对应也就是批量增加. 对于公 ...
- 1550: Simple String (做得少的思维题,两个字符串能否组成另外一个字符串问题)
1550: Simple String Submit Page Summary Time Limit: 1 Sec Memory Limit: 256 Mb Submitt ...