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

五.配置安全信息

  1. 系统设置
  2. 安装插件

Deploy to container Plugin

Publish Over SSH

Mailer Plugin

Maven Integration plugin

Matrix Project Plugin

Maven Repository Server Plugin

Pipeline Maven Integration Plugin

  1. 可以点击test configure  成功会出提示
  2. 第二台主机ssh

  1. 添加保存

  1. 配置系统安全

 

六.新建项目

  1. 构建名字

七.项目构建配置

  1. 构建任务

  1. 源码管理

  1. 构建触发器

  1. 构建环境

  1. 构建

  1. 构建后操作

最后点击 ->应用—>保存

7立即构建, 成功会显示蓝色

.点击

  1. 成功。

八.配置ansible 使用自动批量分发部署。

Jenkins +svn +maven +tomcat+ ansible 自动化批量部署的更多相关文章

  1. Jenkins+SVN+maven+Tomcat构建自动化集成任务

    Jenkins安装方法详解:https://www.cnblogs.com/lizhe860/p/9901257.html 一.安装maven插件 1.依次进入系统管理→插件管理→可选插件, 找到Ma ...

  2. 项目持续集成环境(jenkins + SVN + maven + tomcat)

    整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...

  3. Jenkins+SVN+Maven+shell 自动化部署实践

      JAVA环境中利用Jenkins+svn+maven进行自动化部署实践   一. 前言2 1.介绍jenkins2 1.本地项目打包2 2.通过secureCRT工具,手动传输到服务器2 3.然后 ...

  4. jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署

    一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...

  5. Jenkins+svn+ant+tomcat持续集成

    转载自 http://www.cnblogs.com/liuhaixia/p/7267473.html Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作.通过Jenkins+ ...

  6. JavaWeb+SVN+Maven+Tomcat +jenkins实现自动化部署

    网址:https://blog.csdn.net/liyong1028826685/article/details/88289218 在日常开发项目中常见的开发模式是使用代码库来存放我们的项目例如:S ...

  7. Docker搭建Jenkins+Gogs+Maven/Gradle——代码自动化运维部署平台(三)

    一.简介 1.CI/CD CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一个面向开发和运营团队的解决方案,CI/C ...

  8. Jenkins2.32.1+svn+maven安装配置与构建部署

    这两天学习了一下持久化集成工具Jenkins,在自己的本地搭建一个简单的Jenkins环境. 使用环境:Windows64系统,JDK1.8,eclipse,svn(Windows版本VisualSV ...

  9. Jenkins+svn+maven

    首先我们在我们的服务器上安装好svn和maven 这里在前两步骤基本上没有啥问题,主要就是在Jenkins的步骤我弄了好长时间,这里记录一下 Jenkins的问题我是在这个网址解决的:http://b ...

随机推荐

  1. EF CodeFirst下的自动迁移

    当我们修改数据模型,添加一个如下字段 再次运行程序,会因为数据库结构与模型不一致而报错 为解决以上错误可以采取以下三种方式 1.  删除数据库,重新运行站点,会重新生成数据库,这样就会丢失数据 2.  ...

  2. 生成器-yield初接触

    什么是生成器? 生成器的实质就是迭代器 在python中有三种方式来获取生成器 1. 通过生成器函数 2. 通过各种推导式实现生成器 3. 通过数据的转换也可以获取生成器 将函数中的return换成y ...

  3. 内置数据结构(str)

    一.字符串(str) 1.字符串在python2版本中为一个byte序列,在python3版本中为一个unicode序列,并且字符串是不可变的. sr = str() sr = 'string' sr ...

  4. 通过 python-xmp-toolkit 读取图片xmlp信息

    这个模块使用很简单,下面是示例: file_name = '/path/to/xxx.JPG' from libxmp import XMPFiles, constsxmpfile = XMPFile ...

  5. JPA规范实现

    JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. JPA 是 JCP定义的一种规范,要使用此规 ...

  6. CORS跨域与Nginx反向代理跨域优劣对比

    最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主 ...

  7. Django在admin模块中显示auto_now_add=True或auto_now=True的时间类型列

    转载自: http://www.tuicool.com/articles/ZryE7f 在Django如果model中的列定义了auto_now_add或auto_now属性,那么这种列不会在admi ...

  8. 横向滑动页面,导航条滑动居中的 js 实现思路

    最近在做新闻咨询页的项目,各个新闻频道通过横向滑动切换,顶部的导航active栏需要跟着切换到对应频道,并且active到达中部时,要一直处在中间. 类似效果就是uc浏览器<UC头条>的导 ...

  9. JDBC连接池使用

    一:一个服务在操作数据库的操作的时候,连接和关闭资源是很消耗系统的资源,不能再每次用户操作数据库的时候,都需要重新建立连接和 关闭连接. 如果这样操作的话,对系统和用户来说,都会消耗大量的资源.所以操 ...

  10. Kafka设计解析(十七)Kafka 0.11客户端集群管理工具AdminClient

    转载自 huxihx,原文链接 Kafka 0.11客户端集群管理工具AdminClient 很多用户都有直接使用程序API操作Kafka集群的需求.在0.11版本之前,kafka的服务器端代码(即添 ...