前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-2

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)

整合Jenkins


代码上传到码云

省略…


环境配置

代码中需要包含Dockerfile文件


f676064b2db159ca0bc2cbedddcb7186_fad76191eaae8cee36c0493f43ea83cd.png


在项目pom文件中指定打包类型,包含build部分内容


fa22559f7aa226fbb5711d19df6e6b0f_c56691df22b3a270e0a2899a10f72625.png


安装jenkins环境


在centos环境安装以下环境


  • java
  • maven
  • git
  • docker


其中maven的setttings文件最好改成国内源,不然构建的会很慢!


配置环境变量


620b5547cbc89d0a73b55a06b45abbff_72f52ae4499f9d59172ebc501e8e17d4.png


部署jenkins


[root@mysql jenkins]# ll
total 92716
-rw-r--r-- 1 root root 94928325 May 20 07:19 jenkins.war
[root@mysql jenkins]# nohup java -jar  /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
[1] 5570
[root@mysql jenkins]# nohup: ignoring input and redirecting stderr to stdout

登录


4e56810d2856b6174024fd5e00cb1307_1364f30c0b575a6217cea362b6b6e1fa.png


下面这一步不太好用,退出之后还是没有updates文件夹,可以在网上下载好插件,然后把插件复制到plugins再打开就有这些功能了


c5ca4ef6e627b1555384eb1641f16709_0ea61d0746f5147251acdd2e571d0e29.png


jdk环境配置


3a72eb01f8eb98dce67476ca71624239_8fc91f3e15014199631a22ab0045d328.png


git配置


66f693052746df0de2382537eb53e0a3_a8359ab7661d0db00acb35e972dbd81a.png


maven配置


0bbc8fee7663278c70682861b257c467_7f4bf5a80f1fdc3a62856c0df9b9116c.png


保持配置即可…


构建作业

构建思路:


  • 建立任务
  • 选择仓库代码
  • 选择执行作业的方式


1、建立任务


e021b87e6b178aa35d3c4b1026113a98_5b69ffb696ea950bc05466192374e42c.png


2、选择仓库代码


16bb26223195f8026c3b8f4035bd8301_50e782a682615be45f6b1c23d90f4e4d.png


3、选择执行作业的方式


28c129d34116f4313b04a03cb3d8643d_f34b394d1bf8551a4b449b23d2ed3dc0.png


代码如下:


#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./infrastructure/eureka_server
service_name="eureka-server"
service_prot=8761
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
    echo "exist $SERVER_NAME image,IID=$IID"
    #删除镜像
    docker rmi -f $service_name
    echo "delete $SERVER_NAME image"
    #构建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
else
    echo "no exist $SERVER_NAME image,build docker"
    #构建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
    echo "exist $SERVER_NAME container,CID=$CID"
    #停止
    docker stop $service_name
    #删除容器
    docker rm $service_name
else
    echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
docker logs  $service_name


第一次可能有些慢,之后就会很快


6169a45df1b87dc6ce4afcb79bdc6318_26106310fbdf210d861407b03c97d89d.png


c92c11a5567b54510a0c32a0672d85fc_49ffeb22cf3ea4fd835a372a793a6b15.png


[root@mysql jenkins]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS     NAMES
96d5a7108ef9   demojenkins2   "java -jar /demojenk…"   2 minutes ago   Up 2 minutes             demojenkins2

部署成功啦!!!

3b6b235768fbf1e7b9b7a3b583cabe70_6a6469a4987ea4db83dcfadbae5e8f41.png

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1488 1
|
7月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
259 4
|
7月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
842 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
9月前
|
XML jenkins 机器人
JMeter+Ant+Jenkins实现接口自动化测试持续集成
本文介绍了如何使用Ant生成JMeter接口测试报告,并集成到Jenkins中实现自动化测试。内容涵盖Ant与JMeter环境配置、build.xml文件设置、测试执行及报告生成,同时包括Jenkins插件安装、项目配置和钉钉消息通知的集成,帮助实现持续测试与结果可视化。
1079 0
|
10月前
|
人工智能 运维 Java
配置优化还靠拍脑袋?试试AI自动化,真香!
配置优化还靠拍脑袋?试试AI自动化,真香!
301 0
|
10月前
|
Ubuntu jenkins 机器人
在Jenkins上配置触发Ubuntu环境的图形用户界面(GUI)构建任务。
以上,这趟融合了技术与艺术的Jenkins配置之旅就告一段落了。记住,技术应当像艺术一样有趣和生动,这样才能激发出最大的创新和效率。
282 2
|
监控 jenkins 测试技术
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
|
移动开发 jenkins 持续交付
jenkins配置git
通过上述步骤,您可以在 Jenkins 中成功配置 Git,从而实现自动拉取代码并进行构建和部署。这些配置不仅提高了开发效率,还保证了代码的连续集成和交付。确保每一步配置正确,以避免在实际使用中遇到问题。
1719 1
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
307 5
|
负载均衡 Java API
项目中用的网关Gateway及SpringCloud
Spring Cloud Gateway 是一个功能强大、灵活易用的API网关解决方案。通过配置路由、过滤器、熔断器和限流等功能,可以有效地管理和保护微服务。本文详细介绍了Spring Cloud Gateway的基本概念、配置方法和实际应用,希望能帮助开发者更好地理解和使用这一工具。通过合理使用Spring Cloud Gateway,可以显著提升微服务架构的健壮性和可维护性。
849 0

热门文章

最新文章

推荐镜像

更多