使用 Jenkins 创建微服务应用的持续集成

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 本场景指导您结合Jenkins把微服务应用部署到SAE平台

体验简介

本场景指导您结合Jenkins把微服务应用部署到SAE平台:
场景资源

背景知识

本场景主要涉及以下云产品和服务:Serverless 应用引擎 SAE

Serverless 应用引擎 SAE(Serverless App Engine)是面向应用的 Serverless PaaS 平台,能够帮助 PaaS 层用户免运维 IaaS、按需使用、按量计费,做到低门槛微服务应用上云。相对于其他 Serverless 产品,它抽象了应用的概念,并提供了一整套微服务解决方案,支持 Spring Cloud、Dubbo、HSF 等主流的微服务开发框架,实现了 Serverless 架构和微服务架构的完美结合。

创建资源

  1. 在页面左侧,单击云产品资源下拉菜单,查看本次实验资源。

  2. 单击免费开通创建所需资源。

说明:

资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:IP地址、用户名和密码等。

配置项目

1.修改Maven项目配置,添加toolkit-maven-plugin及部署信息,具体操作,请参见通过Maven插件自动化部署应用

配置Jenkins

1.在Jenkins控制台的菜单栏中选择Manage Jenkins > Manage Plugins,安装Git和GitLab插件。

在这里插入图片描述
2.在Jenkins控制台的菜单栏中选择Manage Jenkins > Global Tool Configuration,设置Maven版本名称并配置路径,单击保存。
在这里插入图片描述

3.在Jenkins服务器上生成SSH RSA密钥对,并将公钥导入GitLab,实现Jenkins拉取GitLab代码时的自动认证。

3.1在Jenkins服务器生成SSH RSA密钥对。具体信息
在这里插入图片描述
3.2进入GitLab首页,在菜单栏选择Settings > Deploy Keys ,并单击New Deploy Key ,导入在Jenkins服务器上创建的SSH RSA公钥。

在这里插入图片描述

创建Jenkins任务

1.在Jenkins首页左侧导航栏中单击新建Item,在创建任务界面输入任务名称,并选择Freestyle project,单击确定,配置任务信息。

在这里插入图片描述
2.单击源码管理,在源码管理页签中选择Git,并设置相关参数。

Repository URL:您的项目的Git协议地址。
Credentials:安全凭证,选择无即可。
在这里插入图片描述
3.单击构建触发器,在构建触发器页签选中GitHub hook trigger for GITScm polling。

4.单击构建环境,在构建环境页签选中Add timestamps to the Console Output,为控制台输出的信息添加时间戳。

5.单击构建,在构建页签单击增加构建步骤,在下拉列表中选择Invoke top-level Maven targets。

6.在Invoke top-level Maven targets区域设置Maven Version和Goals。如果您想部署多模块工程,请参见(可选)创建多模块工程的Jenkins任务。

Maven Version:单击该选项后面的下拉框,选择在全局工具配置里配置的Maven版本名称。
Goals:输入mvn clean package toolkit:deploy -Dtoolkit_profile=toolkit_profile.yaml -Dtoolkit_package=toolkit_package.yaml -Dtoolkit_deploy=toolkit_deploy.yaml (如有其它参数,请根据实际情况输入)。
在这里插入图片描述

配置GitLab的Web Hook

1.在Gitlab首页右键单击GitLab工程,然后选择Setting > Web Hooks。

2.在Web Hooks页面的URL区域中输入http://jenkins服务器地址:jenkins服务器监听端口/git/notifyCommit?url=本项目的git协议地址。

图中表示的Jenkins服务器地址为您的Jenkins服务器的Web访问地址如192.168.XX.XX:8080
在这里插入图片描述
3.配置完成后,单击Test Hook,测试配置结果
在这里插入图片描述

提交变更到GitLab

如果上述步骤配置正确,提交后将会触发一次GitLab Hook。Jenkins在接收到该Hook后会构建您的Maven项目,并在构建结束时调用SAE POP API脚本触发部署。

提交部署成功输出的日志信息(Build Number > 控制台输出)。
在这里插入图片描述
如果部署失败,您可以登录SAE控制台,查看此次部署任务的执行过程。具体步骤,请参见查看变更记录。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
25天前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
65 12
|
2月前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
51 4
|
2月前
|
监控 持续交付 API
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
30 4
|
2月前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
65 1
|
2月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
56 1
|
2月前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
46 0
|
2月前
|
监控 物联网 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
36 0
|
2月前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
38 0
|
2月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
72 2
|
5月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。