jenkins

本文讲述了敏捷开发方法论和持续集成工具Jenkins在软件开发中的应用,包括Maven项目管理和Git版本控制,以及如何使用Jenkins自动化部署项目,涉及Linux基础、Maven设置、Jenkins安装和脚本编写等内容。
摘要由CSDN通过智能技术生成

内容回顾

本章重点

  1. 安装maven和git
  2. 自动化部署项目

具体内容

什么是敏捷开发

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

什么是持续集成(CI)

因为开发部门同时维护多个版本,多个版本的发布,测试需要大量人力,所以要有一个专业的持续集成工具来管理持续重复的工作。

// 1. 甲方提出要求

// 可行性分析

// 需求 ->开发-> 测试

// bug 禅道

// bug等级 高

一、持续集成工具(CI)

1.1 Jenkins 和Hudson

1) Jenkins是一个持续集成(CI)工具。它可以持续编译,运行你的代码;运行单元测试(UT)或集成测试;将运行结果发送至邮件,或展示成报告。

2) Jenkins起源于Hudson。Hudson在商业软件的路上继续前行,而Jenkins则作为开源软件,从hudson分支出来。 因此现在的jenkins和hudson非常类似,但是随着二者各自的发展,已经有了一些不同。

1.2 技术组合

Jenkins 可以整合 GitHub 或 Subversion Husband 也可以整合 GitHub 或 Subversion二者既然是同源的工具软件,操作和指导思想就是接近的

1.3 部署方式对比

JavaEE 项目部署方式对比

手动部署

git ->checkout-> war ->部署

自动化部署

“自动化”的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序。

搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。 对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本——一切都发生在无形中。

下面我们讲带领大家一步一步搭建整套持续集成环境,这个操作过程只需要细心认 真即可,没有任何难度。但是需要优秀的你具备以下前置知识:

Linux 基本操作命令和 VIM 编辑器使用

Maven 的项目构建管理

GitHub 或 SVN 使用

二、安装jenkins

简易版使用jenkins:

2.1.下载jekins.war

Jenkins download and deployment

https://get.jenkins.io/war-stable/2.222.4/

2.2.开启jenkins

将war放到tomcat下面的webapps里,启动tomcat,并访问

ip地址:端口号/jenkins

出现上图,就成功了一小步了

等待时间比较漫长,如果无法忍受,请更改一下jenkins的默认访问地址

vim /root/.jenkins/hudson.model.UpdateCenter.xml

需要你进入jenkins的工作目录,打开hudson.model.UpdateCenter.xml将 url 中的

https://updates.jenkins.io/update-center.json

更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

是国内的清华大学的镜像地址。

或者更改为http://updates.jenkins.io/update-center.json,即去掉 https 中的 s 。

然后重启tomcat服务

等待之后会出现如下页面

密码复制之后又是一段漫长的等待,

接着等

还要等

https://updates.jenkins.io/update-center.json

三、使用jenkins部署项目1

简易版使用jenkins部署项目

将war包部署到tomcat中

下面给出一个简单示例,将已有的war包部署到tomcat中(jenkins与tomcat在同一台主机)

点击Jenkins主页的新建任务
输入任务名称
选择构建一个自由风格的软件项目后点击确定

在构建内添加构建步骤,选择执行shell
输入执行脚本,

脚本如下:

#!/bin/sh
tomcat_path=/usr/java/tomcat/tomcat8081
ShutDownTomcat=${tomcat_path}/bin/shutdown.sh
StartTomcat=${tomcat_path}/bin/startup.sh
echo "============删除旧的war包==================="
rm ${tomcat_path}/webapps/docker.war
echo "============删除tomcat下旧的文件夹============="
rm -rf ${tomcat_path}/webapps/docker
echo "======拷贝编译出来的war包到tomcat下======="
cp /usr/java/project/docker.war  ${tomcat_path}/webapps/docker.war
echo "====================关闭tomcat====================="
${ShutDownTomcat}
echo "================sleep 10s========================="
for i in {1..10}
do
        echo $i"s"
        sleep 1s
done
export BUILD_ID=DontKillMe
echo "====================启动tomcat====================="
${StartTomcat}





启动jar
#!/bin/sh
jarPath=/usr/java/jar
projectJar=/usr/java/project
echo "============删除旧jar============="
rm -rf ${projectJar}/demo.jar
echo "======拷贝新的jar到运行的目录下面======="
cp ${jarPath}/demo.jar ${projectJar}/demo.jar
echo "====================关闭jar的进程====================="
l=`ps -ef|grep -v grep|grep demo|awk '{print $2}'`
kill -9 $l
echo "================sleep 10s========================="
for i in {1..10}
do
        echo $i"s"
        sleep 1s
done
export BUILD_ID=DontKillMe
echo "====================启动jar====================="
nohup java -jar ${projectJar}/demo.jar &
点击保存
点击左侧的立即构建

四、使用jenkins部署项目2

4.1.准备linux的安装环境

a. 在linux上安装jdk,并配置环境变量

b. 在linux上安装tomcat,并配置环境变量

步骤略(以前章节有讲解)

c.在linux上安装git

1.安装依赖环境

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

2.删除已有的git

yum -y remove git

3.将tar传输到/usr/java/git并解压

tar -zxvf git-2.9.3.tar.gz

4.编译

cd git-2.9.3

make prefix=/usr/java/git all

make prefix=/usr/java/git install

5.将环境变量配置到/etc/profile里面

export GIT_HOME=/usr/java/git

export PATH=$GIT_HOME/bin:$PATH

source /etc/profile

6.查看git版本

git --version

插件安装失败

这个插件网址是否可以在网页中打开

http://mirror.xmission.com/jenkins/updates/current/update-center.json

如可以,把这个网址粘贴到“Jenkins/插件管理/高级/升级站点” 提交。

原来的地址是:http://updates.jenkins.io/update-center.json

d.在linux安装maven,并配置环境变量。

安装步骤如下:

1.在/usr/java下面创建文件夹maven

mkdir maven

2.将tar包上传到maven文件夹里面并解压

https://downloads.apache.org/maven/maven-3

tar -zxvf apache-maven-3.5.0-bin.tar.gz

3.配置环境变量

vi /etc/profile

export MAVEN_HOME=/usr/java/maven/apache-maven-3.5.0

export PATH=$MAVEN_HOME/bin:$PATH

使文件生效 source /etc/profile

查看maven版本号

mvn -v

mvn help:system 插件

e.使用jenkins

1.安全管理器

全局安全设值:

全局工具配置:

安装jdk

配置maven的settings.xml

配置maven的环境

配置git

创建任务

下载maven的插件

创建的是一个maven构建的项目

配置构建的项目的信息

配置凭证:

构建触发器:

编译的选项

clean package -U -Dmaven.test.skip=true

BUILD_ID=DONTKILLME

jenkins启动之后会自动退出当前的进程 加上上面一句话表示不自动退出

BUILD_ID=DONTKILLME
echo "部署的目录和项目名称"
sh /usr/java/test/build.sh
echo "success"

对应的build.sh(存放在linux中的/usr/java/test/文件夹下)

#! /bin/bash
echo "部署的目录和项目名称"
DIR="/usr/java/project"
projectName="demo"
echo "待部署的应用服务器"
server_ips="192.168.221.37"
#所有的参数列表
for server_ip in ${server_ips[@]}
do
echo "进行备份操作"
mkdir -p $DIR/backup/${projectName}
  if [ -f "$DIR/${projectName}/${projectName}.jar" ];then
    mv $DIR/${projectName}/${projectName}.jar $DIR/backup/${projectName}/${projectName}-`date "+%Y%m%d_%H%M%S"`.jar
  fi
echo "拷贝jar包到目标服务器的目录下"
cp ${WORKSPACE}/target/*.jar $DIR/${projectName}/${projectName}.jar

echo "目标服务器:$DIR/${projectName}/${projectName}.jar"

echo "连接进行发布操作"
#mv /usr/java/test/demo.jar $DIR/backup/${projectName}/${projectName}.jar
echo "开始关闭jar"
l=`ps -ef|grep demo.jar|grep -v grep|awk '{print $2}'`
for i in $l
do
 kill -9 $i
done
sleep 5s
echo "启动jar"
nohup java -jar $DIR/${projectName}/${projectName}.jar --server.port=9999 > release_out.log 2>&1 &start_ok=false
done
 

将这两个脚本添加到刚才的执行文件中

插件之所以没有下载成功:war包过时

************************************************************************************

以下不用了****************************************************************************

que

切换到源码管理

点击添加之后

脚本内容

#!/bin/sh -e




#检查编译脚本执行是否成功
check_result()
{
  echo input params:$1


  if [ $1 != 0 ]; then
     exit $1
  fi
}




#进入工作目录
cd $WORKSPACE


#执行编译脚本
./build.sh


#检查编译结果
build_result=$?
check_result $build_result

插件安装失败

这个插件网址是否可以在网页中打开

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

http://mirror.xmission.com/jenkins/updates/current/update-center.json

如可以,把这个网址粘贴到“Jenkins/插件管理/高级/升级站点” 提交。

原来的地址是:http://updates.jenkins.io/update-center.json

登录之后选择系统配置

然后

配置jdk 和maven

创建任务

本章总结

    1. 什么是敏捷开发
    2. 持续集成工具有什么
    3. 使用git+maven进行自动化部署项目
    4. 会编写基本脚本

课后作业

    1. 编写springboot项目和普通web项目分别使用jenkins进行集成自动化部署

********************************************分割线***********************************************

jenkins的使用

添加凭证

构建的时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值