jenkins+svn+maven持续集成

  • • 发表于 8年前
  • • 作者 雪咖啡
  • • 4338 人浏览
  • • 4 条评论
  • • 最后编辑时间 8年前
  • • 来自 [开发工具]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

jenkins svn maven 持续集成

准备工作

1、Linux 服务器一台 (假设IP 192.168.1.1)
2、JDK 安装包一枚 (jdk1.7.0_79.tar.gz)
3、Maven 安装包一枚 (apache-maven-3.0.3.tar.gz)
4、jenkins 安装包一枚(jenkins.war)
5、Nexus (maven仓库私服) 服务一台 (假设IP 192.168.1.2)
6、SVN 服务器一台 (假设IP 192.168.1.3)
7、在Linux服务器 上设置映射

vim /etc/hosts

在最后追加

192.168.1.2 maven
192.168.1.3 svn_server

—————————————————————————————

今天主讲 jenkins+svn+maven 持续集成,有些东西会一带而过,个别安装目录请根据自己的情况设定(PS:我所有的安装文件都放在 /opt 目录下)。

1、准备一台 Linux 服务器

2、安装JDK (先卸载 Linux服务器自带的JDK,如不知,请自行百度)

软件目录

解压 jdk1.7.0_79.tar.gz 到 jdk1.7.0_79

tar -zxvf jdk1.7.0_79.tar.gz

设置JAVA环境变量,执行shell命令

vim /etc/profile

在文件最后追加

export JAVA_HOME=/opt/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后执行shell命令

source /etc/profile

执行shell命令测试是否安装成功

java -version

如果出现下图,表示安装成功

测试 JAVA 环境变量是否成功

3、安装Maven

解压 apache-maven-3.0.3.tar.gz 到 apache-maven-3.0.3

tar -zxvf apache-maven-3.0.3.tar.gz

修改 maven setting.xml 文件

vim /opt/apache-maven-3.0.3/conf/settings.xml

这里镜像路径首选私服,第二用阿里的

<?xml version="1.0" encoding="UTF-8"?>
<settings
    xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>/opt/maven_repository</localRepository>
    <pluginGroups></pluginGroups>
    <proxies></proxies>
    <servers>
        <server>
            <id>Releases</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
        <server>
            <id>Snapshots</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
    </servers>
    <mirrors>
        <mirror>
            <id>maven-public</id>
            <name>maven-public</name>
            <mirrorOf>*</mirrorOf>
            <url>http://maven:8081/nexus/content/groups/public/</url>
        </mirror>
        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
    <mirror>
            <id>maven-us</id>
            <name>maven-us</name>
            <mirrorOf>*</mirrorOf>
            <url>https://maven-us.nuxeo.org/nexus/content/groups/public/</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>test</id>
            <repositories>
                <repository>
                    <id>local-nexus</id>
                    <url>http://maven:8081/nexus/content/groups/public/</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>test</activeProfile>
    </activeProfiles>
</settings>

4、启动 jenkins 服务器

jenkins.war, 这个war包既可以放到WEB容器(Tomcat,JBoss等)里运行,也可以独立运行;这里我就不使用WEB容器了,直接启动

java -jar jenkins.war

启动成功的样子

jenkins 启动成功的样子

这时候在浏览器里输入

http://192.168.1.1:8080/jenkins

出现下面的页面

根据提示,输入服务器上 /root/.jenkins/secrets/initialAdminPassword 里的密码,(或者看上一张截图里的红框,就是密码,每个服务器都不一样)

进入到下一步

点击红框按钮,进入插件安装界面

插件安装成功后,创建一个管理员账号

点击 “Save and Finish” 按钮 进入到主页

点击左侧 “系统管理”—>”Global Tool Configuration” 按钮进入”全局工具配置”设置,这里我们设置 JDK 和 Maven

点击 “新增JDK” 按钮

出现以下界面,把 “自动安装” 勾选去掉,输入”别名”和 “JAVA_HOME”, JAVA_HOME 路径请参见第二步 JDK的安装路径

当前页面往下滚动,找到 Maven 节点,Maven 安装原理同 JDK,然后点击保存按钮,到此,配置JDK和Maven完毕。

5、Nexux (maven私服)默认账号密码 admin admin123

6、SVN服务器上有一个 my-app (maven)项目

pom.xml 配置如下,这里着重注意 scm,distributionManagement 这两个标签的配置;
(1)scm 标签是Maven项目在打 release 时候打 tag 用到的。
(2)distributionManagement这个对应 Maven 服务的配置文件 setting.xml 里的 servers—>server 标签(id对应),server 下的 username,password 就是 Nexus(Maven仓库私服)的账号密码。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.dmw</groupId>
    <artifactId>my-app</artifactId>
    <packaging>war</packaging>
    <version>1.0.4-SNAPSHOT</version>
    <name>${project.artifactId}</name>
    <properties>
        <jdk.version>1.7</jdk.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.4.2</version>
            </plugin>
        </plugins>
    </build>
    <scm>
        <connection>scm:svn:svn://svn_server:9999/project/new_project/my-app/trunk/my-app</connection>
        <developerConnection>scm:svn:svn://svn_server:9999/project/new_project/my-app/trunk/my-app</developerConnection>
        <url>svn://svn_server:9999/project/new_project/my-app/trunk/my-app</url>
    </scm>
    <distributionManagement>
        <repository>
            <id>Releases</id>
            <name>Internal Releases</name>
            <url>http://maven:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>Snapshots</id>
            <name>Internal Snapshots</name>
            <url>http://maven:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
</project>

—————————————————————————————

7、创建第一个Job

点击新建按钮

输入 Job 名称,选择构建一个maven项目,点击保存,进入设置页面

设置页面

源码管理选择SVN,输入项目SVN地址,点击钥匙图标Add

输入SVN账号密码 点击Add按钮保存

下拉框选择刚才新增的SVN账号

构建触发器下选择项

构建环境选择项

输入构建命令(都是Maven命令)

输入构建结果通知接收邮件地址,然后点击保存按钮

进入到 my_app job界面,点击 立即构建 按钮,开始构建

点击小三角,进入控制台,查看日志输出

分享到:
4条评论
Ctrl+Enter
作者

雪咖啡

雪咖啡

APP:1 帖子:3 回复:17 积分:146

已加入社区[3140]天

永不放弃

作者详情》
Top