持续集成
1、什么是持续集成、关注点在哪里
场景:一个项目开发完成了(单元测试完成了、所有的模块开发也已经完成了)、明天就是项目的发不期、今天晚上需要将 所有开发好的模块 全部整合起来、本来单个模块测试的时候 没有任何的问题、但是 项目 开始集成 就发现出现了 无数个错误、今天晚上 集成显然是不可能完成的。
持续集成
持续集成的关键点:项目开发一好个功能 那么就自动的帮你实现 整个项目的集成 也就是说 开发一点 项目 就集成一点 而且这个集成的步骤是 自动完成的 跟程序员本身 没有任何的关系
自动集成之后 可以将 这个项目 直接给你 部署到第三方的服务器上 所有人就可以通过这个服务器 来检测自己开发的这个功能是否是完整的 是否影响了 其他人
2、持续集成的原理
3、Jenkins环境的安装
Jenkins是什么呢? Jenkins实际上是一个war文件、这个java编写的这个工程 主要的功能 就是实现上面功能的代码流程
3.1、将jenkins的war文件放到Tomcat的webapp目录下
3.2、在浏览器上输入 http://ip:8080/jenkins出现如下说明安装正确
4、Jenkins环境的配置
4.1、输入密码的问题
cat /root/.jenkins/secrets/initialAdminPassword
出来的就是密码
4.2、跳过插件的安装
4.3、创建第一个用户
4.4、使用admin账户继续
4.5、保存并完成
4.6、开始使用jenkins
4.7、系统管理----全局安全配置
4.8、系统管理----全局工具配置
4.8.1、配置JDK
4.9、安装maven
4.9.1、在/usr/local目录下创建一个文件夹 maven3
mkdir /usr/local/maven3
4.9.2、将maven的压缩文件copy进去进行解压
cp apache-maven-3.6.3-bin.tar.gz /usr/local
tar -zxvf apache-maven-3.6.3-bin.tar.gz
4.9.3、配置环境变量
export M2_HOME=/usr/local/maven3/apache-maven-3.6.3
export PATH=$PATH:$M2_HOME/bin
4.10、配置maven
系统管理-----全局工具配置
4.11、设置插件支持http不是https
vim /root/.jenkins/hudson.model.UpdateCenter.xml
4.12、下载插件
系统管理----插件管理----选择可用的插件-----右侧搜索 git
然后安装
4.13、安装git
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc perl-ExtUtils-MakeMaker
yum remove git //删除系统已经有的git
tar -zxvf git-2.10.0.tar.gz //解压这个git文件
cd git-2.10.0 //进入解压的根目录
make prefix=/usr/local/git all //编译
make prefix=/usr/local/git install
配置环境变量
export PATH=$PATH:/usr/local/git/bin
使能环境变量
source /etc/profile
git --version //检查是否有git的版本信息输出 如果有说明正确
4.14、配置Git
5、创建一个自由风格的项目
5.1、创建一个项目
6、项目配置
6.1、配置远程代码库的地址和Gitee的用户名以及密码
6.2、设置构建命令
1:设置调用顶层的maven目标
2:设置执行的命令
7、准备一个Web项目
7.1、创建一个maven下的web项目
7.2、导包
<!--导入我们的Servlet的API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!--导入我们jstl的标签库的包 -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>javax.servlet.jsp.jstl-api</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jsp-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
<!--带入cglib代理的包 -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.4</version>
</dependency>
<!--引入junit类 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
7.3、将项目放到本地库
7.4、将项目push到远程
8、配置Gitee
8.1、创建一个组织
8.2、创建一个仓库
9、配置部署项目的Tomcat
9.1、在Tomcat/conf/tomcat-user.xml文件中添加
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin-gui,admin,manager-gui,manager,manager-script,manager-jmx,manager-status"/>
9.2、在Tomcat/conf/Catalina/localhost 添加一个manager.xml文件
/usr/local/apache-tomcat-8.5.56/conf/Catalina/localhost
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
9.3、重启Tomcat点击如图所示位置 如果出现了输入框说明对的
9.4、下载一个deploee to container插件
这个插件的作用就是将 war文件发布到第三方的服务器上
系统管理----插件管理
9.5、配置构建后的操作
9.6、实施一次构建(主要查看是否能发布到第三方的服务器)手动
9.7、构建一个触发器
9.8、在Gitee的仓库中选择管理
9.9、点击webhooks
9.10、配置webhooks
9.11、关闭jenkins服务器上 放置跨站点伪造
系统管理-----全局安全配置
感谢观看。。。