linux+jenkins+svn+maven自动部署配置

目录

1.  安装jenkins         

2.  安装maven

3.  安装svn

3.1  代码库创建:

3.2  配置版本库:

3.3  查看:

3.4  查看SVN进程:

3.5  停止重启SVN:

3.6  测试连接:

4.  jenkins 配置

4.1  系统管理-->系统设置

4.2  系统管理-->全局工具设置

4.3  系统管理-->插件管理

4.3.1  自动安装

4.3.2  手动安装

5.  创建快照:

5.1  新建一个任务

5.2  构建历史

5.3  源码管理,此处选择svn 

5.4  maven 编译

5.5  远程部署,需要安装Publish Over SSH插件

6.  shell脚本

7.  邮件发送配置

7.1  开通qq邮箱的SMTP服务 (其他邮箱同理)

​7.2  jenkins默认邮件测试

7.3  JOB构建时发送邮件

7.4  安装插件

7.5  邮件拓展

8.  拓展


1.  安装jenkins  

        下载地址:下载地址
        上传到linux 任意位置
        安装命令 :sudo rpm -ih jenkins-1.562-1.1.noarch.rpm 
        设置环境:vim /etc/rc.d/init.d/jenkins
        添加java路径, 注意: 路径不是到最外层,要到bin文件夹的java文件 

 
linux+jenkins+svn+maven自动部署配置_第1张图片
        访问: ip:8080
        复制/var/lib/jenkins/secrets/initialAdminPassword 的密码登录
        工作空间:/var/lib/jenkins/workspace/

 

2.  安装maven  

        下载地址:http://maven.apache.org/download.cgi  注意下载bin文件
        解压:tar -zxvf apache-maven-3.5.4-bin.tar.gz
        创建指向: ln -s /home/yangguang/utils/apache-maven-3.5.4 /var/maven
        添加环境变量:

export MAVEN_HOME=/var/maven
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin

        加载资源文件:source /etc/profile
        安装:yum install subversion
        查看是否安装成功:svnserve --version

 

3.  安装svn

3.1  代码库创建:

    安装完成后要建立SVN库
    #mkdir -p /opt/svn/repositories
    #svnadmin create /opt/svn/repositories
    执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。
 

3.2  配置版本库:

    a.进入上面conf文件夹下,进行配置:
    用户密码passwd配置:
    #vi + passwd  //+表示光标放在文件最低端
    修改passwd为一下内容:
    [users]
    #harry = harryssecret
    #sally = sallyssecret
    admin=123456
 
    b. 权限控制authz配置:
    #vi + authz
    设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
    [/]
    admin=rw  //给该用户访问所有库的权限
     或
    [repositories:/project]  //repository库的根目录权限
    admin=rw
    / 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/opt/svn;/ 就是指对全部版本库都具有权限
    repositories:/ 表示对库repositories的根目录设置权限
    PS:
             权限配置文件中出现的用户名必须已在用户配置文件中定义。
            对权限配置文件的修改立即生效,不必重启svn。
 
    c. 服务svnserve.con配置:
     vi + svnserve.conf
    添加一下内容:
    #匿名访问的权限,可以是read,write,none,默认为read
    anon-access=none
    #使授权用户有写权限
    auth-access=write
    #密码数据库的路径
    password-db=passwd
    #访问控制文件
    authz-db=authz
    #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
    realm=/opt/svn/repositories
    
    d. 配置防火墙端口(如果需要):
    不一定每个人都需要设置,可以先测试后再看是否需要打开端口
     vi /etc/sysconfig/iptables
    添加一下内容:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
    保存后重启防火墙
     service iptables restart
 

3.3  查看:

    a. 启动SVN
     svnserve -d -r /opt/svn/repositories
 

3.4  查看SVN进程:

    #ps -ef|grep svn|grep -v grep
    root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
 
    检测SVN端口
    #netstat -ln |grep 3690
    tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN


3.5  停止重启SVN:

    #killall svnserve //停止
    #svnserve -d -r /opt/svn/repositories // 启动
 

3.6  测试连接:

    svn 地址:svn://IP(47.94.167.75)
    上传代码

 

4.  jenkins 配置

linux+jenkins+svn+maven自动部署配置_第2张图片

 

4.1  系统管理-->系统设置

远程部署的Publish Over SSH插件下载之后需要在此处设置部署

linux+jenkins+svn+maven自动部署配置_第3张图片

 

4.2  系统管理-->全局工具设置

linux+jenkins+svn+maven自动部署配置_第4张图片

linux+jenkins+svn+maven自动部署配置_第5张图片

linux+jenkins+svn+maven自动部署配置_第6张图片

 

4.3  系统管理-->插件管理

4.3.1  自动安装

linux+jenkins+svn+maven自动部署配置_第7张图片

4.3.2  手动安装

linux+jenkins+svn+maven自动部署配置_第8张图片

 

5.  创建快照:

5.1  新建一个任务

linux+jenkins+svn+maven自动部署配置_第9张图片

 

5.2  构建历史

linux+jenkins+svn+maven自动部署配置_第10张图片

 

5.3  源码管理,此处选择svn 

linux+jenkins+svn+maven自动部署配置_第11张图片

 

5.4  maven 编译

linux+jenkins+svn+maven自动部署配置_第12张图片

 

5.5  远程部署,需要安装Publish Over SSH插件

linux+jenkins+svn+maven自动部署配置_第13张图片

linux+jenkins+svn+maven自动部署配置_第14张图片

 

6.  shell脚本

TOMCAT_HOME=/home/yangguang/utils/tomcat8/apache-tomcat-8.5.24

#查看进程并杀掉进程

ID=`ps -ef | grep "$TOMCAT_HOME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
for id in $ID
do
kill -9 $id
echo "killed $id"
done

#删除旧的war包等

cd $TOMCAT_HOME/webapps
rm -rf *.war

#拷贝新war包到Tomcat下

cd ../../history/
cp ROOT.war $TOMCAT_HOME/webapps
cd ../apache-tomcat-8.5.24/bin

#启动tomcat

nohup ./startup.sh

 

7.  邮件发送配置

7.1  开通qq邮箱的SMTP服务 (其他邮箱同理)

linux+jenkins+svn+maven自动部署配置_第15张图片

 

7.2  jenkins默认邮件测试

linux+jenkins+svn+maven自动部署配置_第16张图片

 

7.3  JOB构建时发送邮件

linux+jenkins+svn+maven自动部署配置_第17张图片

 

linux+jenkins+svn+maven自动部署配置_第18张图片

 

7.4  安装插件

Email-ext plugin

 

7.5  邮件拓展

linux+jenkins+svn+maven自动部署配置_第19张图片

Default Content 发送内容可以自定义

(本邮件是程序自动下发的,请勿回复!)

项目名称:$PROJECT_NAME

构建编号:$BUILD_NUMBER

svn版本号:${SVN_REVISION}

构建状态:$BUILD_STATUS

触发原因:${CAUSE}

构建日志地址:${BUILD_URL}console

构建地址:$BUILD_URL

变更集:${JELLY_SCRIPT,template="html"}

点击高级

linux+jenkins+svn+maven自动部署配置_第20张图片

 构建配置

linux+jenkins+svn+maven自动部署配置_第21张图片

linux+jenkins+svn+maven自动部署配置_第22张图片

linux+jenkins+svn+maven自动部署配置_第23张图片

linux+jenkins+svn+maven自动部署配置_第24张图片

也可以选择 Failure-Any  给部署失败的情况发送
字段解释
①Disable Extended Email Publisher:勾选后,邮件就不发送,看自己的情况喽,如果你想调试某些东西,又不想发邮件出去就可以勾选这个。 
②Project Recipient List:收件人地址;多个收件人邮件地址用逗号进行分割;想使用全局默认配置的话,可以使用$DEFAULT_RECIPIENTS。 
③Project Reply-To List:允许回复人的地址;想使用系统设置中的默认值的话,可以使用$DEFAULT_REPLYTO; 
④Content Type:邮件文档的类型,可以设置HTML等格式; 
⑤Default Subject:默认主题,也就是邮件标题;同理可以使用$DEFAULT_SUBJECT 
⑥Default Content:默认邮件内容;这里是关键;我这里使用的是模板${SCRIPT, template="groovy-html.template"};后面会讲;当然不想使用模板的话,可以通过使用jenkins自身提供的变量来自己定义; 
⑦Attach Build Log:发送的邮件是否包含日志;
下面几个默认就好,最后一个Triggers非常关键; 
一定要自己再添加一个Recipient List。 

 

8.  拓展

SMTP 使用的端口有:
25 SMTP
25 SMTP STARTTLS
465 SMTP SSL    (此端口有加密服务,比较安全)
587 SMTP TLS/STARTTLS


 

 

你可能感兴趣的:(linux+jenkins+svn+maven自动部署配置)