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

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

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


1. 创建资源

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

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

说明:    

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

2. 配置项目

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

3. 配置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密钥对。具体信息,GitLab文档

3.2进入GitLab首页,在菜单栏选择Settings > Deploy Keys ,并单击New Deploy Key ,导入在Jenkins服务器上创建的SSH RSA公钥。


4. 创建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 (如有其它参数,请根据实际情况输入)。


5. 配置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,测试配置结果


6. 提交变更到GitLab

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

提交部署成功输出的日志信息(Build Number > 控制台输出

如果部署失败,您可以登录SAE控制台,查看此次部署任务的执行过程。具体步骤,请参见查看变更记录

实验链接:https://developer.aliyun.com/adc/scenario/572089ee13bb4fe59a04f80123d0d664

相关文章
|
6天前
|
存储 人工智能 NoSQL
Airweave:快速集成应用数据打造AI知识库的开源平台,支持多源整合和自动同步数据
Airweave 是一个开源工具,能够将应用程序的数据同步到图数据库和向量数据库中,实现智能代理检索。它支持无代码集成、多租户支持和自动同步等功能。
66 14
|
11天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
139 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
26天前
|
机器人 应用服务中间件 API
轻松集成私有化部署Dify文本生成型应用
Dify 是一款开源的大语言模型应用开发平台,融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者能快速搭建生产级生成式 AI 应用。通过阿里云计算巢,用户可以一键部署 Dify 社区版,享受独享的计算和网络资源,并无代码完成钉钉、企业微信等平台的应用集成。本文将详细介绍如何部署 Dify 并将其集成到钉钉群聊机器人和企业微信中,帮助您轻松实现 AI 应用的定义与数据运营,提升工作效率。
轻松集成私有化部署Dify文本生成型应用
|
1月前
|
人工智能 数据可视化 开发者
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
117 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
|
2月前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
94 12
|
3月前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
107 1
|
3月前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
112 32
|
3月前
|
监控 持续交付 API
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
47 4
|
3月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
86 1
|
3月前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
100 12