Jenkins持续集成

2022-04-07 13:57:45 浏览数 (1)

在传统的瀑布开发模型中,是所有人写好代码之后提交版本管理工具,然后统一进行合并,然接着进行测试,确保准发布的版本无误后再进行版本的正式发布。在这种流程下,往常会把风险堆到软件发布前的最后阶段,在整体测试的环节下出现许多不可预知的问题。

在敏捷开发、DevOps的开发模型中,会选择持续的方式进行集成、测试、部署、交付,做一部分就马上递交给下一个流程,使用这样一个持续化的过程能够尽早地发现并解决问题,避免把问题都暴露在一个环节上。

在这里就必须提到持续集成、持续测试、持续部署、持续交付这几个概念。

几个概念

持续:随时可以执行,可重复,快速,频繁发布。

持续集成:开发人员完成代码编写之后,持续的提交、构建,经过自动化测试通过之后,再与原有代码进行合并。

持续测试:在整个软件生命周期对整个软件过程持续的进行测试(自动化 手工探索性测试等)的过程。

持续部署:在持续集成的基础上,持续的将通过测试的软件部署到测试环境、预生产环境、生产环境等。

持续交付:持续的将软件的新版本交付给用户进行评审,并获取反馈。

持续集成介绍

持续集成能够快速且频繁地(一天多次)将代码集成到主干。

它的好处主要有两个:

快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。

防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

持续集成并不能消除 Bug,而是让它们非常容易发现和改正。

Jenkins环境搭建

Jenkins的环境搭建比较简单,无论是Windows还是Linux都可以使用.war包的方式搭建。

.war需要使用java来打开,所以第一步应该是安装Java:

代码语言:javascript复制
#官网下载jdk1.8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
#解压文件
tar –zxvf jdk-8u221-linux-x64.tar.gz
#拷贝文件夹到/usr/local/java:
cp jdk-8u221 /usr/local/java
#配置jdk环境
vi /etc/profile
#添加如下配置
JAVA_HOME=/usr/local/java/jdk1.8
CLASSPATH=:$JAVA_HOME/lib/:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin
#启用新的配置
source /etc/profile
#看版本
java -version 

第二步安装版本管理工具Git/SVN

(此处详细步骤略)

第三步安装Jenkins

代码语言:javascript复制
#下载文件:
https://jenkins.io/download/
#启动Jenkins
java -jar jenkins.war --httpPort=8080
访问:
http://10.0.0.16::8080

安装配置相关插件

一个war包启动起来的,想配置东西怎么办,或者说,配置文件怎么办。

如果root账户,启动后,jenkins的配置文件就在/root/.Jenkins

其中,admin初始化密码文件就在secrets这个文件下面的这个文件里initialAdminPassword。其他的配置,大家根据需要去配置。

Jenkins使用

Jenkins的使用并不复杂,只要配置好相关工具以及插件后即可简单使用。

1、新建账户:

首先用admin账户登录进去,在系统管理-->管理用户-->新建用户里面新建账户。

2、配置安全策略

由于Jenkins默认是任何人可以访问该系统,相当于裸奔,所以需要配置安全策略系统管理-->全局安全配置-->授权策略将它改为安全矩阵,添加需要的账户,给特定的人勾选上所需的策略,这样就安全了。

3、添加节点(添加机器)

Jenkins的机器和测试环境的机器一般不会在同一台机器,多个测试环境,也有可能在多个机器上面。

先增加一个机器作为官网的测试环境。系统管理-->管理节点-->新建节点节点名称。

4、部署应用

通过系统管理里面的各项设置可以设置好全局的工具,如JDK、Maven、Git等,也可以安装各种插件,如Python、ansible等。

在这项设置完成之后,可以新建一个构建任务,使用ansible或者普通的shell或者bat脚本部署应用。

0 人点赞