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 ...
随机推荐
- zabbix之自动发现Tomcat多实例(第一种:已经部署完成,后续不再添加;第二种:后续或根据需要添加Tomcat实例)
单一实例手动部署:https://www.cnblogs.com/huangyanqi/p/8522526.html 注释:参考的一位博主的博客后续做的修改,那个博主的网址找不到了!!!! 背景: 1 ...
- 微信小程序初始化 operateWXData:fail invalid scope
初学者开发微信小程序,可以使用云开发来进行微信小程序的开发. 第一次使用开发工具遇到的问题 解决方案:1.找到云开发 2.点击开通,选择合适自己的开发环境: 3.完成后,返回开发工具界面点击项目第一个 ...
- Python运算符之三元运算符
三元运算符:也称之为条件表达式 [条件为真的结果] if 条件 else [条件为假的结果] 如: ium01 = 100 if100 > 200 else200 print(num01) #三 ...
- October 04th 2017 Week 40th Wednesday
We teach people how to remember, we never teach them how to grow. 我们教会人们如何记忆,却从来不教他们如何成长. Without pr ...
- T-SQL 标识符
在T-SQL语言中,对SQLServer数据库及其数据对象(比如表.索引.视图.存储过程.触发器等)需要以名称来进行命名并加以区分,这些名称就称为标识符. 通常情况下,SQLServer数据库.数据库 ...
- Crond定时任务
crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond ...
- Azkaban时区问题导致调度差1天
设置了Azkaban调度是每日凌晨一次,如下: 但是调度历史上显示最近一次调度时间是 初步怀疑是因为时区问题导致,查看服务器时区如下 cat /etc/timezone 为Asia/Shanghai. ...
- [SDOI2017]切树游戏
题目 二轮毒瘤题啊 辣鸡洛谷竟然有卡树剖的数据 还是\(loj\)可爱 首先这道题没有带修,设\(dp_{i,j}\)表示以\(i\)为最高点的连通块有多少个异或和为\(j\),\(g_{i,j}=\ ...
- python基础整理2——Linux
Linux 目录 /:根目录,一般根目录下只存放目录 /bin./usr/bin: 可执行二进制文件的目录,如常用的命令ls.tar.mv.cat等 /boot:放置linux系统启动时用到的一些文件 ...
- mysql通过“延迟关联”进行limit分页查询优化的一个实例
最近在生产上遇见一个分页查询特别慢的问题,数据量大概有200万的样子,翻到最后一页性能很低,差不多得有4秒的样子才能出来整个页面,需要进行查询优化. 第一步,找到执行慢的sql,如下: SELECT ...