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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 前后端分离项目知识汇总(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 MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
167 3
|
4月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
5月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
459 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
5月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
129 2
|
5月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
5月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
165 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
5月前
|
Linux 应用服务中间件 Shell
利用 ACME 实现SSL证书自动化配置更新
【10月更文挑战第11天】多项式承诺原理是密码学中的重要工具,允许证明者向验证者承诺一个多项式并证明其某些性质。Kate多项式承诺是一种知名方案,基于有限域上的多项式表示,通过生成和验证简洁的证明来确保多项式的正确性和隐私。其安全性基于离散对数假设。应用场景包括区块链中的零知识证明和可验证计算,以及多方计算和身份认证协议。在区块链中,Kate多项式承诺可用于保护隐私币和智能合约中的敏感信息。
307 2
|
5月前
|
Ubuntu jenkins 关系型数据库
eladmin前后端分离jenkins自动发版
eladmin前后端分离jenkins自动发版
|
7月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
148 1
|
7月前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
141 0

热门文章

最新文章