自动持续集成,简而言之就是在代码每次提交时,自动持续集成的工作主要是能对项目进行构建、自动化测试和发布等等。jenkins是一个自动持续集成工具,目前比起前沿的还有gitlab。使用自动持续集成工具能监控项目运行状态,降低项目的风险性。如果一个项目中有很多开发者、分支,如果他们提交的代码未经检查,最后合并往往很容易出错。jenkins主要做的的就是检测每次提交的代码是否可以被正常运行。当代码被提交到仓库时,就会触发jenkins做项目构建、测试、发布等,如果失败,就会通知管理员,管理员便可实时检测项目中的代码可用性。


环境准备:

①项目。在开始做Jenkins整合SpringBoot之前,我们要想准备好开发环境。SpringBoot 案例链接https://gitee.com/brozer/springboot_practise.git 这里,读者也可使用自己的SpringBoot。
②代码托管平台。准备完了SpringBoot后,我们以码云作为作为托管平台为例。将自己的SpringBoot项目托管到码云上面。

③安装jenkins。在安装jenkins之前,我们要确保我们已经安装了JDK,还有配置Maven环境。因为这里我们以SpringBoot为例讲解,所有必须要配置好这些环境。我们可以访问Jenkins官网下载安装包。

一:jenkins配置

下载完jenkins后,我们运行jenkins。运行成功后,我们默认访问本地的8080端口。初始运行时,jenkins未设置密码,需要使用一串验证码验证。获取这串验证码可在运行控制台中获取。登录后,如图所示。这里,我已经创建了一个项目了。



在创建构建项目任务之前,我们得想配置下jenkins环境变量。点击Manage Jenkins—>Configure Glogal Security,将防止跨域请求复选项去掉。


我们保存之后返回首页,选中左侧People,选择管理员账号admin—>Configure。这里,我们需要该账号得API token,用于码云和jenkins的通信认证。


创建构建任务。选中首页New Item,给任务起个名字(java-app),使用FreeStyle Project类型。

①我们为任务配置Source Code Management


②配置构建触发器


这里的token是用于授权的。


③创建构建任务脚本。点击Add build step,选择Excute shell。每当项目代码提交到码云后,码云就会调jenkins,jenkins会同步码云上的代码,之后以jenkins本地环境按照脚本步骤构建项目。jenkins默认会把项目下载到root/.jenkins/workspace中。我们可以同过$pwd查看当前构建所在的目录

echo $WORKSPACE
echo $pwd
mvn clean install -Dmaven.test.skip=true


到此,我们jenkins环境基本已经配置好了。除了配置jenkins环境外,我们还要确保能在外网访问到jenkins。


二:码云配置


我们进入到SpringBoot项目管理配置页,配置WebHooks即可。
在URL写入https://admin:f7c50b51906a07335c5fedfecda4e6aa@7c497b3d.ngrok.io/job/java-app/build?token=java-token,密码为空,提交。

admin:f7c50b51906a07335c5fedfecda4e6aa 就是之前jenkins账号的API Token,用于jenkins的认证。token=java-token是在构建Trigger时候填写的,用户项目的授权。

7c497b3d.ngrok.io是我们jenkins的外网访问地址。


我们可以先通过手动测试,看码云能向jenkins发起构建任务不。如果请求返回403,有可能jenkins防止使用跨域代理了。

三:运行结果:



每次代码提交后,便可触发自动持续构建该项目了。


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐