基于jenkins的一键发布多个应用

一、环境准备

 下载软件:http://jenkins-ci.org/

144750_MUlY_2315091.png

安装tomcat 放在tomcatwebapps下 启动tomcat  http://localhost:8080/jenkins

(注:因为tomcat的版本不同配置也略有不同,我用的tomcat8

linux 下要装 jdk  maven  git 的运行环境  

遇到的问题:jenkins需要高版本的git,linuxgit版本过低

这里涉及到git的版本的更新:

0.  yum  remove git 
1.  wget  https://github.com/git/git/archive/v2.2.1.tar.gz
2.  ./configure
3.  Make
4.  Make install
5.  git --version

二、 项目的配置

 

主要用的是:org.codehaus.cargo 插件 以及maven<profiles>结合使用

  具体请参考 pom.xml 配置

<build>
   <plugins>
           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                    <webResources>
                        <resource>
                            <directory>src/main/resources</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <filtering>true</filtering>
                        </resource>
                        <resource>
                            <directory>src/main/resources</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <filtering>true</filtering>
                        </resource>
                    </webResources>
                </configuration>
            </plugin> 
       <plugin>
         <groupId>org.codehaus.cargo</groupId>
         <artifactId>cargo-maven2-plugin</artifactId>
         <version>1.4.16</version>
        <configuration>
			<container>
				<containerId>tomcat8x</containerId>
				<type>remote</type>
			</container>
			<configuration>
				<type>runtime</type>
				<properties>
					<cargo.hostname>远程ip</cargo.hostname> 
					<cargo.servlet.port>8080</cargo.servlet.port>
					<cargo.remote.username>tomcat</cargo.remote.username>
					<cargo.remote.password>123456</cargo.remote.password>
				</properties>
			</configuration>
			<deployer>
				<type>remote</type>
			</deployer>
			<deployables>
				<deployable>
					<groupId>${project.groupId}</groupId>
					<artifactId>${project.artifactId}</artifactId>
					<type>war</type>
					<properties>
						<context>/ats</context>
					</properties>
				</deployable>
			</deployables>
		</configuration>
       </plugin>
   </plugins>
</build>
<profiles>
    <profile>
		<id>qa1</id>
				
		<build>
		   <plugins>
		           <plugin>
		                <groupId>org.apache.maven.plugins</groupId>
		                <artifactId>maven-war-plugin</artifactId>
		                <version>2.1.1</version>
		                <configuration>
		                    <archive>
		                        <addMavenDescriptor>false</addMavenDescriptor>
		                    </archive>
		                    <webResources>
		                        <resource>
		                            <directory>src/main/resources</directory>
		                            <targetPath>WEB-INF/classes</targetPath>
		                            <filtering>true</filtering>
		                        </resource>
		                        <resource>
		                            <directory>src/main/resources</directory>
		                            <targetPath>WEB-INF/classes</targetPath>
		                            <filtering>true</filtering>
		                        </resource>
		                    </webResources>
		                </configuration>
		            </plugin> 
		       <plugin>
		         <groupId>org.codehaus.cargo</groupId>
		         <artifactId>cargo-maven2-plugin</artifactId>
		         <version>1.4.16</version>
		        <configuration>
					<container>
						<containerId>tomcat8x</containerId>
						<type>remote</type>
					</container>
					<configuration>
						<type>runtime</type>
						<properties>
							<cargo.hostname>远程ip</cargo.hostname>
							<cargo.servlet.port>8080</cargo.servlet.port>
							<cargo.remote.username>tomcat</cargo.remote.username>
							<cargo.remote.password>123456</cargo.remote.password>
						</properties>
					</configuration>
					<deployer>
						<type>remote</type>
					</deployer>
					<deployables>
						<deployable>
							<groupId>${project.groupId}</groupId>
							<artifactId>${project.artifactId}</artifactId>
							<type>war</type>
							<properties>
								<context>/ats</context>
							</properties>
						</deployable>
					</deployables>
				</configuration>
		       </plugin>
		   </plugins>
		</build>
	</profile>

	<profile>
		<id>qa2</id>
		<build>
		   <plugins>
		           <plugin>
		                <groupId>org.apache.maven.plugins</groupId>
		                <artifactId>maven-war-plugin</artifactId>
		                <version>2.1.1</version>
		                <configuration>
		                    <archive>
		                        <addMavenDescriptor>false</addMavenDescriptor>
		                    </archive>
		                    <webResources>
		                        <resource>
		                            <directory>src/main/resources</directory>
		                            <targetPath>WEB-INF/classes</targetPath>
		                            <filtering>true</filtering>
		                        </resource>
		                        <resource>
		                            <directory>src/main/resources</directory>
		                            <targetPath>WEB-INF/classes</targetPath>
		                            <filtering>true</filtering>
		                        </resource>
		                    </webResources>
		                </configuration>
		            </plugin> 
		       <plugin>
		         <groupId>org.codehaus.cargo</groupId>
		         <artifactId>cargo-maven2-plugin</artifactId>
		         <version>1.4.16</version>
		        <configuration>
					<container>
						<containerId>tomcat8x</containerId>
						<type>remote</type>
					</container>
					<configuration>
						<type>runtime</type>
						<properties>
							<cargo.hostname>远程ip</cargo.hostname>
							<cargo.servlet.port>8080</cargo.servlet.port>
							<cargo.remote.username>tomcat</cargo.remote.username>
							<cargo.remote.password>123456</cargo.remote.password>
						</properties>
					</configuration>
					<deployer>
						<type>remote</type>
					</deployer>
					<deployables>
						<deployable>
							<groupId>${project.groupId}</groupId>
							<artifactId>${project.artifactId}</artifactId>
							<type>war</type>
							<properties>
								<context>/ats</context>
							</properties>
						</deployable>
					</deployables>
				</configuration>
		       </plugin>
		   </plugins>
		</build>
	</profile>
</profiles>

三、多台远程tomcat配置

 tomcat-users.xml

 

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="admin-gui,manager-gui,manager-script"/>

 记得tomcat重新启动

四、jenkins的配置

1.系统管理 系统设置

  配置 jdk  maven  git 的环境

150141_puP1_2315091.png



150231_eoVr_2315091.png150257_Nu4X_2315091.png

转载于:https://my.oschina.net/jianzheng/blog/539337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值