一:敏捷开发
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
二:持续集成
因为开发部门同时维护多个版本,多个版本的发布,测试需要大量人力,所以要有一个专业的持续集成工具来管理持续重复的工作。
如果人为的进行项目的部署,这个操作是重复且繁琐的,非常的浪费时间,所以使用持续集成工具的时候,可以代替人为的操作。这个大大减轻了我们的工作。
1.持续集成工具
持续集成工具有Jenkins和Hudeson。
Jenkins起源于Hudeson,但是Hudeson在商业的路上越走越远,但是Jenkins是免费的且开源的。并且Jenkins可以整合GitHub、Gitee、SVN等。
三:Jenkins的安装
1.首先下载Jenkins的war包,将war包放进linux系统的tomcat中的webapps中。运行tomcat,会自动编译war包,地址栏访问8080/jenkins
2.会先出现一下界面,然后会让输入密码,密码存放地址会给提示,只需要查看---复制----粘贴即可
3.进入之后,选择安装推荐的插件,安装插件的过程较长。需要耐性等待。
安装完成之后 需要创建一个用户
之后会让配置实例,写8080:/jenkins即可
四:安装git
在部署项目之前,需要指定jdk、maven、git的安装目录以及配置文件的地址
1.安装git需要的环境
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install -y gcc perl-ExtUtils-MakeMaker
2.删除已经存在的git
yum -y remove git
3.将下载好的git安装包传输到linux系统中,进行解压
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.配置环境变量
vim /etc/profile
export GIT_HOME=/usr/java/git
export PATH=$GIT_HOME/bin:$PATH
重启文件
source /etc/profile
6. 使用指令查看git版本和git的位置
git --version
whereis git
五:配置jenkins
git安装成功之后,需要将jdk、maven、git配置到jenkins中。
1.进入全局安全设置
2.全局工具配置
安装jdk,选择jdk安装的根目录
配置maven的settings.xml
安装maven,配置maven的安装根目录
安装git,配置git启动文件的所在位置
六:构建项目
先创建一个springboot项目,将springboot项目发布到gitee上。配置gitee的公钥,
在linux系统中输入
ssh-keygen -t rsa -b 4096 -C "邮箱地址"
一路回车,会创建一个公钥文件,将公钥文件打开,复制公钥,粘贴到gitee的公钥中。这样就l可以无需账号密码访问gitee中的仓库。
使用jenkins创建一个maven项目
构建触发器,可以选择定时构建
将gitee仓库中的项目排测试文件进行构建
在build中,要加入构建项目时进行的shell脚本
在 /usr/java/test 文件夹中创建 build.sh、shspringboot.sh、shstopspringboor.sh
build.sh:
#! /bin/bash echo "部署的目录和项目名称" DIR="/project" projectName="demo" echo "待部署的应用服务器" server_ips="192.168.159.34" #所有的参数列表 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 /usr/java/test/demo.jar echo "连接进行发布操作" #mv /usr/java/test/demo.jar $DIR/backup/${projectName}/${projectName}.jar echo "开始关闭jar" sh /usr/java/test/shstopspringboot sleep 5s echo "启动jar" sh /usr/java/test/shspringboot done
shspringboot.sh:
#! /bin/bash l=`ps -ef|grep demo.jar|grep -v grep|awk '{print $2}'` for i in $l do kill -9 $i done
shstopspringboot:
#! /bin/bash nohup java -jar /usr/java/test/demo.jar > release_out.log 2>&1 &start_ok=false
在刚才的buil标签中,加入启动build.sh的shell脚本
点击完成,构建项目。