Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考。

软件包:

1. 下载apache-maven-2.2.1-bin.tar
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-2.2.1-bin.tar.gz
2. 
下载jenkinshttp://mirrors.jenkins-ci.org/war/ 列出了jenkins的所有release版本,请选择下载


安装

1.安装jdk

# chmod 755 jdk-8u51-linux-x64.tar.gz

# tar zxvf jdk-8u51-linux-x64.tar.gz -C /app/zpy/

# chown -R root.root  jdk1.8.0_51/

# vim /etc/profile

JAVA_HOME=/app/zpy/jdk1.8.0_51

JAVA_BIN=/app/zpy/jdk1.8.0_51/bin

PATH=$PATH:$JAVA_BIN:

CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH


2.安装tomcat

# tar zxvf apache-tomcat-6.0.41.tar.gz -C /app/zpy/

# mv apache-tomcat-6.0.41/ tomcat_jenkins

修改tomcat配置文件

# vim tomcat_jenkins/conf/server.xml

修改8080端口的Connector节点,增加如下配置

URIEncoding="UTF-8"


3.安装maven

1)解压

 tar -zvxf apache-maven-2.2.1-bin.tar.gz

2)移动到其他目录

# mv apache-maven-3.3.9/ maven

3)配置环境变量
# vim /etc/profile

SVN_HOME=/app/zpy/subversion/bin

GIT_HOME=/app/zpy/git

GIT_BIN=/app/zpy/git/bin

MAVEN_HOME=/app/zpy/maven

JENKINS_HOME=/app/zpy/tomcat_jenkins/webapps/jenkins

JAVA_HOME=/app/zpy/jdk1.8.0_51

JAVA_BIN=/app/zpy/jdk1.8.0_51/bin

PATH=$PATH:$JAVA_BIN:$MAVEN_HOME/bin:$GIT_BIN:$SVN_HOME

CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export MAVEN_HOME JENKINS_HOME JAVA_HOME JAVA_BIN PATH CLASSPATH


# . /etc/profile

4) 验证是否安装成功

mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)

Maven home: /app/zpy/maven

Java version: 1.8.0_51, vendor: Oracle Corporation

Java home: /app/zpy/jdk1.8.0_51/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"


5) 配置maven
编辑maven的配置文件

# cd maven/conf

# vi settings.xml

修改配置文件示例如下:

jenkins 部署文档

<?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>/data/jenkins</localRepository>

    <servers>

        <server>

            <username>admin</username>

            <password>password</password>

        </server>

    </servers>

    <mirrors>

        <mirror>

            <!-- This sends everything else to /public -->

            <id>nexus</id>

            <mirrorOf>central</mirrorOf>

            <url>http://10.0.70.242:8081/nexus/content/repositories/public</url>

        </mirror>

    </mirrors>

    <profiles>

        <profile>

            <id>nexus</id>

            <!-- Enable snapshots for the built in central repo to direct -->

            <!-- all requests to nexus via the mirror -->

            <repositories>

               

<repository>

                    <id>central</id>

                    <url>http://10.0.70.242:8081/nexus/content/repositories/public</url>

                    <releases>

                        <enabled>true</enabled>

                        <updatePolicy>always</updatePolicy>

                    </releases>

                    <snapshots>

                        <enabled>true</enabled>

                        <updatePolicy>always</updatePolicy>

                    </snapshots>

                </repository>

            </repositories>

            <pluginRepositories>

                <pluginRepository>

                    <id>central</id>

                    <url>http://192.169.10.109:8081/nexus/content/repositories/public</url>

                    <releases>

                        <enabled>true</enabled>

                        <updatePolicy>always</updatePolicy>

                    </releases>

                    <snapshots>

                        <enabled>true</enabled>

                        <updatePolicy>always</updatePolicy>

                    </snapshots>

                </pluginRepository>     

            </pluginRepositories>

        </profile>

    </profiles>

    <activeProfiles>

        <!-- make the profile active all the time -->

        <activeProfile>nexus</activeProfile>

    </activeProfiles>


    <pluginGroups>

        <!-- define the sonatype plugin group, so the nexus plugins will work without 

                         typing the groupId -->

        <pluginGroup>org.sonatype.plugins</pluginGroup>

    </pluginGroups>

</settings>


jenkins 部署文档

其中localRepository节点表示私服中下载的jar包存放路径,根据实际存放的路径修改。
所有url节点中包含的地址:http://192.169.10.109:8081/nexus/content/repositories/public,表示nexus私服的地址,请根据实际的地址修改。由研发提供,没有的话,使用默认的setting.xml配置文件,走公有的库,构建任务时下载会慢一些。
username
password节点表示登录nexus私服的用户名及密码。

4、安装jenkins
1) 
复制到tomcat webapps目录

# cp jenkins.war /app/zpy/tomcat_jenkins/webapps/

2)配置环境变量

# vim /etc/profile

SVN_HOME=/app/zpy/subversion/bin

GIT_HOME=/app/zpy/git

GIT_BIN=/app/zpy/git/bin

MAVEN_HOME=/app/zpy/maven

JENKINS_HOME=/app/zpy/tomcat_jenkins/webapps/jenkins

JAVA_HOME=/app/zpy/jdk1.8.0_51

JAVA_BIN=/app/zpy/jdk1.8.0_51/bin

PATH=$PATH:$JAVA_BIN:$MAVEN_HOME/bin:$GIT_BIN:$SVN_HOME

CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export MAVEN_HOME JENKINS_HOME JAVA_HOME JAVA_BIN PATH CLASSPATH


# . /etc/profile

3) 启动tomcat,使用http://localhost:8080/jenkins访问jenkins

4) 输入/app/zpy/tomcat_jenkins/webapps/jenkins/secrets/initialAdminPassword中的密码

jenkins 部署文档


5) 安装默认安装

jenkins 部署文档


6)默认插件安装完成,继续。(有些插件安装失败,也可继续)

jenkins 部署文档


7)不填内容,选择continue as admin(后面进行用户管理)

jenkins 部署文档


jenkins 部署文档


开始使用!

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


1)创建用户

系统管理管理用户填入用户名、密码

jenkins 部署文档

jenkins 部署文档

jenkins 部署文档



设置\修改密码:  系统管理管理用户选择指定的用户设置到最下面修改密码

jenkins 部署文档

jenkins 部署文档


2)插件配置

查看已安装的

jenkins 部署文档

jenkins 部署文档


系统管理管理插件--高级浏览上传

jenkins 部署文档


4)新建任务

每个任务为部署文件夹或压缩包

首先创建一个imp-share的任务。之后部署的应用需要依赖于这个imp-share(都由研发提供,上传至svn)

jenkins 部署文档

jenkins 部署文档


需要配置的主要有三个方面:svn   maven    deploy


I. svn配置,版本库地址、用户名和密码

jenkins 部署文档


II. (注意Global Tool Configuration中已配置maven

jenkins 部署文档


III. 完成后点击立即构建。至此依赖包构建完成。


5)新建应用任务

jenkins 部署文档

I. svn配置,版本库地址、用户名和密码

jenkins 部署文档

注意去掉勾选,如果选上,svn如果更新就自动发包。

jenkins 部署文档


II. (注意Global Tool Configuration中已配置maven

jenkins 部署文档

完成点击立即构建


III. 自动远程部署到tomcat

接下来要完成自动构建war包后,将这些war包上传到远程linus的tomcat的webapps目录,更新项目的war包,并重启tomcat服务。

安装插件

https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin下载hpi到本地

系统管理--> 管理插件--> 高级--> 上传.hpi插件

jenkins 部署文档




配置ssh内容:

系统管理--> 系统设置--> publish over ssh 进行配置

jenkins 部署文档

点击高级

jenkins 部署文档

注释:

如果没有做ssh等效性,Passphrase、path to key、key处不需要填写。

Disable exec 是禁止执行命令

SSH Server Name随便设置一个项目名

Hostname 是tomcat服务器的地址

username 是系统的用户名

Remote Directory 是登录到的路径,此后作为根路径,后面的配置依据于这个路径

勾选Use password authentication,or use a different key

Passphrase/Password 填写系统用户的密码


进行任务配置

配置imp-im-web任务

构建够操作--> Sned build artifacts over SSH

jenkins 部署文档


注释:

SSH Server

Name 为之前ssh配置的项目名称

Transfers

Source files 是war包的位置。默认根路径为/app/zpy/tomcat_jenkins/webapps/jenkins/workspace/imp-im-web所以只从target填写即可

Remove prefix 去掉的路径。如果不去掉,传到tomcat上的包路径会加上目录target比如Remote directory设置为/tmp则拷贝过去后成为/tmp/target/imp-im.war

Remote directory 拷贝到tomcat上的路径,存放war包

Exec command 拷贝war包后 要执行的操作。

deploy.sh 脚本的内容如下:

#!/bin/sh

#defined 

source /etc/profile

TOMCAT_HOME="/app/zpy/tomcat"

ID=`ps -ef | grep java | grep tomcat|awk '{print $2}'`

echo $ID 

echo "kill tomcat"

kill -9 $ID

echo "remover war file"

cd "$TOMCAT_HOME"/webapps

rm -rf imp-im

rm -rf imp-im.war

echo "copy war to webapp"

cd /tmp

mv imp-im.war "$TOMCAT_HOME"/webapps

cd "$TOMCAT_HOME"/bin

echo "start tomcat"

./startup.sh



至此imp-im-web任务配置完成,点击立即构建。成功会显示

jenkins 部署文档



备注:

对于svn上存放的不是源码,是编译完成的war包的情况。

新建任务,选择自由风格

jenkins 部署文档

imp-im.war在imp-im-web-test/target下

jenkins 部署文档

选择Send files or execute commands over SSH after the build runs

jenkins 部署文档

点击立即构建,完成!!!



本文转自 周新宇1991 51CTO博客,原文链接:http://blog.51cto.com/zhouxinyu1991/1865913,如需转载请自行联系原作者


相关文章: