阿里云 jenkins svn maven 构建自动化部署

第一步:下载 jdk 、tomcat、jenkins、maven

jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html

maven:http://maven.apache.org/download.cgi 

jenkins:https://jenkins.io/download/ 

tomcat:http://tomcat.apache.org/

我下载的版本是 jdk1.8.0_161,Tomcat 8.0.51,maven、jenkins 就直接下最新版就好了 (好像 jenkins 只支持tomcat8 )

下载完成之后上传到你的阿里云服务器上,我下载的类型都是 tar.gz 


安装maven

将maven安装包解压到 /usr/local 目录下

# tar -zxvf apache-maven-3.5.0-bin.tar.gz  -C /usr/local

进入maven目录下的 /conf 目录,修改setting.xml文件的mirrors配置国内仓库。

<mirror>  
        <id>nexus-osc</id>  
        <mirrorOf>*</mirrorOf>  
        <name>Nexus osc</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
</mirror>  

(3)在 /etc/profile 中添加环境变量配置

export MAVEN_HOME=/usr/local/apache-maven-3.5.0 
export PATH=${PATH}:${MAVEN_HOME}/bin  


接下来安装jdk (建议jdk 别用yum 安装,否则他不会配置 环境变量,我们在安装svn的时候还需要自己手动在配一下)

mkdir /usr/java
tar -xzvf jdk-8u161-linux-x64.tar.gz -C  /usr/java/

然后配置jdk环境变量

vim /etc/profile 

最后一行添加

#java
JAVA_HOME=/usr/java/jdk1.8.0_161 #你jdk所在的目录
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

然后安装ESC键 输入  回车保存

:wq

查看jdk是否安装成功

java -version

会出现以下信息

java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

接下来安装svn

  1. 运行以下命令安装SVN。

    1. yum install subversion
  2. 运行以下命令查看SVN版本。

    1. svnserve --version
  3. 按以下步骤创建版本库:

    1. 运行以下命令创建目录。
      1. mkdir /var/svn
    2. 依次运行以下命令创建版本库。
      1. cd /var/svn
      2. svnadmin create /var/svn/svnrepos
    3. 依次运行以下命令查看自动生成的版本库文件。
      1. cd svnrepos
      2. ls
    4. 运行命令cd conf/进入conf目录(该SVN版本库配置文件)。返回结果如下:
      • authz:是权限控制文件。
      • passwd:是账号密码文件。
      • svnserve.conf:SVN服务配置文件。
    5. 按以下步骤设置账号密码:
      1. 运行 vi passwd
      2. 按 i 键进入编辑模式。
      3. 在 [users] 块中添加用户账号和密码,格式:账号=密码,比如示例中的suzhan = redhat(注意等号两端要有一个空格)。
      4. 按 Esc 键退出编辑模式,并输入 :wq 保存并退出。设置账号密码
    6. 按以下步骤设置权限:
      1. 运行 vi authz
      2. 按 i 键进入编辑模式。
      3. 在末尾添加如下代码(其中,r表示读,w表示写):
        1. [/]
        2. suzhan=rw
      4. 按 Esc 键退出编辑模式,并输入 :wq 保存并退出。
        设置权限
    7. 按以下步骤修改svnserve.conf文件。
      1. 运行命令 vi svnserve.conf
      2. 按 i 键进入编辑模式。
      3. 打开以下几个注释(注意每行不能以空格开始,等号两端要有一个空格):
        1. anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示
        2. auth-access = write #授权用户可写
        3. password-db = passwd #使用哪个文件作为账号文件
        4. authz-db = authz #使用哪个文件作为权限文件
        5. realm = /var/svn/svnrepos #认证空间名,版本库所在目录
      4. 按 Esc 键退出编辑模式,并输入 :wq 保存并退出。修改svnserve.conf
    8. 运行以下命令启动SVN版本库。
      1. svnserve -d -r /var/svn/svnrepos
    9. 运行命令 ps -ef |grep svn 查看SVN服务是否开启。
      如果返回结果如下图所示,表示SVN服务已经开启。
      检查SVN服务是否已开启

注意
运行以下命令停止SVN命令。

  1. killall svnserve

添加安全组规则

SVN服务的默认端口为TCP 3690。您需要登录 ECS管理控制台添加安全组规则 放行TCP 3690端口。

在Windows上测试

这部分说明如何从本地(Windows操作系统)访问ECS实例上安装的SVN服务。

  1. 在本地机器上安装 TortoiseSVN客户端

  2. 在您的本地项目文件夹(如示例中的C:\KDR),右键空白处弹出菜单,选择 SVN检出SVN检出

  3. 指定资源库URL,格式为 svn://实例公网IP地址/资源库名;指定 检出至目录(如本示例中的C:\KDR);再单击 确定输入SVN URL如果出现以图所示信息,表示检出成功。

接下来安装tomcat,回到之前apache-tomcat-8.5.29.tar.gz 所在目录执行以下命令

tar -xzvf apache-tomcat-8.5.29.tar.gz -C /usr/local/

然后启动tomcat

/usr/local/apache-tomcat-8.5.29/bin/startup.sh

http://ip:8080/  进行访问



注意 端口需要到你服务器控制台 安全组添加


接下来就是安装 jenkins 

回到之前jenkins 上传的目录,拷贝jenkins 到你的tomcat webapps目录下

cp jenkins.war /usr/local/tomcat7/webapps/

重启tomcat 访问 jenkins

http://ip:8080/jenkins

启动时间会有点长 ,登陆会让你输入密码,密码在哪里网页上有说明

然后输入密码后 让你选择插件 我选的是推荐安装的插件,安装完成后会少了maven插件,需要安装一个,不然在新建任务的时候没有 maven选项


选择可选插件,输入 Maven Integration plugin ,因为我安装过了所以找不到,你们搜索到了就之间点安装


这一步好了 接下来配置jdk  和 maven  路径

1.进入全局工具配置

去掉自动安装,填写路径



接下来新建任务


选择丢弃构建 


配置svn


注意如果不知道怎么创建 maven 项目 看这个教程 https://blog.csdn.net/wx5040257/article/details/77388086?locationNum=7&fps=1


配置 构建触发器,我配置的是 ,只要我提交代码 2分钟后帮我构建一次 ,poll scm 不知道配置去百度很多教程


好了下面最重要的一步来了  我是参考 https://blog.csdn.net/jesonjoke/article/details/77861888 这位大神写的


说明一下,我有两个tomcat   一个tomcat 放jenkins   一个放项目
以下脚本的tomcat名字 是我放项目的tomcat,你们别把自己 jenkins 所在的tomcat名字写在里面

if [  `ps -ef | grep tomcat7 | grep -v grep | awk '{print $2}'`  ]; then   #判断tomcat7是否已启动,启动就关闭,如果不加if条件 直接kill tomcat没有启动的话会报错
    ps -ef | grep tomcat7 | grep -v grep | awk '{print $2}' | xargs kill -9
fi   
cd /usr/local/tomcat7/webapps/    #进入webapps 
rm -rf SMMvcMaven*				  #删除之前的项目
cd /root/.jenkins/workspace/tset/target/ #进入jenkins 打war包的路径
mv SMMvcMaven-0.1.war ./SMMvcMaven.war   #更改war 名字 后面访问的时候就是根据这个war名字来的
cp SMMvcMaven.war /usr/local/tomcat7/webapps/  #拷贝项目到tomcat webapps
sleep 1s                                 #暂停1秒
export BUILD_ID=SMMvcMavenId              #这句话必须加 不然我tomcat 启动不了,我也不知道原因,id是随便取得
sh /usr/local/tomcat7/bin/startup.sh   启动tomcat

好了jenkins 配置到此就结束了,你们可以立即构建试试

对了还要注意的是 你在构建之前  tomcat7 也就是项目所在的tomcat 一定要先启动 不然 脚本呢第一步kill tomcat 会报错的。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页