当前位置: 首页 > news >正文

专业网站建设咨电商网站建设方案

专业网站建设咨,电商网站建设方案,有哪些可以做威客的网站,thinkphp网站后台模板文章目录 前言实例讲解基本环境全局工具配置创建任务任务配置源码管理构建步骤(Build Steps)第一步:调用Maven第二步:执行shell启动容器 后记 前言 你平常在做自己的项目时,是否有过部署项目太麻烦的想法?…

文章目录

  • 前言
  • 实例讲解
    • 基本环境
    • 全局工具配置
    • 创建任务
    • 任务配置
      • 源码管理
      • 构建步骤(Build Steps)
        • 第一步:调用Maven
        • 第二步:执行shell启动容器
  • 后记

前言

你平常在做自己的项目时,是否有过部署项目太麻烦的想法?如果你是单体项目,可能没什么感触,但如果你是微服务项目,相信你应该是有过这种感触的。

这种情况下,我一般会劝你了解一下Jenkins这个玩意。怎么了解呢?我会建议你阅读本文🤡。

本文分为一个简单的Jenkins自动化构建部署实例讲解,如果你还没有安装这个玩意,可以先阅读我的另一篇文章:Linux下的Jenkins安装教程_阿杆.,它会教你如何在Linux上安装Jenkins。


实例讲解

接下来,我会拿出我的用户微服务构建任务的实际配置来向你进行解读,当你了解了Jenkins自动化构建部署的工作原理后,你便可以很快的上手这个玩意,因为你会发现它是如此的简单。

此实例是基于我的开源项目校园博客的Jenkins部分进行讲解的,开源地址:stick-i/scblogs: 🎉校园博客,基于微服务架构且前后端分离的博客社区系统。项目后端技术栈:SpringBoot + SpringCloud + Mybatis-Plus + Nacos + MySQL + Redis + MQ + ElasticSearch + Docker。前端主要是基于Vue2和ElementUI进行开发的。 (github.com)

基本环境

在此之前,我需要介绍一下我的基本环境:

  • 我的操作环境为Windows,但是我要把微服务部署到一台Linux服务器上去,包括Jenkins也是安装在这个上面的。

  • 服务器上安装了Jenkins、Git、Docker、JDK、Maven、NodeJs,都是些拿来构建的东西,都是单独安装的,而不是跑在Docker上。

  • 而项目服务都是跑在Docker上的,还有Redis这种轻量的中间件也跑在Docker上。

  • 我的项目已经在Git仓库里放好了,放github或者gitee或者gitlab都行。

全局工具配置

在Jenkins上,我已经配置好了这些构建工具的路径,以便于Jenkins可以直接调用到他们,在系统管理 -> 全局工具配置 这个页面下,这张图有点长:

image-20230227164048718

在这张图上,你可以看到其中有一部分的配置是有路径的,还有一部分配置是没有路径的,这是因为我把他们的命令路径加到了系统路径上,即使不添加完整路径,Jenkins也可以调用到它们。

创建任务

好,现在我们已经准备好环境了,可以创建一个任务来试试水了,输入任务名称,然后选择构建一个自由风格的软件项目

image-20230227165112119

别问我在哪新建任务,请你返回首页好好看看:

image-20230227165255936

任务配置

源码管理

现在我们已经进入到任务配置界面了,往下划到源码管理的地方,选择Git,然后填写仓库地址等信息:

image-20230227170509119

添加Credentials的时候,如果你会使用SSH密钥的话,建议还是用这个,但你得在机器上进行格外的配置,这里我就不多说了,不会的话直接用账号密码也是可以的:

image-20230227180704542

构建步骤(Build Steps)

第一步:调用Maven

点击增加构建步骤,由于我们是Maven管理的项目,需要先使用Maven构建,所以第一步就用调用顶层Maven目标

image-20230227182631158

选择maven版本,然后target根据项目的实际情况编写,我的命令是这样的:

  1. 先构建jar包,执行install的过程中会先执行package的,所以我直接install。我的项目中单元测试是没怎么梳理的,所以我使用参数-Dmaven.test.skip=true跳过单元测试。
  2. 然后我得打包成docker镜像,我使用的是dockerfile-maven-plugin这个Maven插件,所以打包docker镜像的步骤就也放在maven里面了,构建docker镜像的信息都在项目的pom文件里面。
install -Dmaven.test.skip=true
dockerfile:build -f user-service/user-server/pom.xml

构建完镜像了,接下来我们直接使用这个镜像创建容器然后运行就完事了。

第二步:执行shell启动容器

再添加一个构建步骤,正常情况下我们调用docker通过命令行调用就可以了,所以我们现在也添加一个执行shell的步骤即可。

image-20230227193231475

具体的命令也很简单,就这么几步:

  1. 清理之前的旧镜像。由于我们刚刚构建了一个新的镜像,新镜像和旧镜像的名称和版本我们是没有改的,所以旧的镜像就会自动变成<none>,使用命令docker image prune -f 就可以清理掉这部分镜像。
  2. 停止旧容器运行并删除旧容器。当然我们得先判断一下是否存在旧容器,使用容器名称来进行判断,这部分指令涉及到shelldocker的命令知识,看不懂没关系,可以直接cv,注意修改容器名称就好。
  3. 调用docker启动容器,根据项目实际情况来设定不同的参数,我这里设置了网络模式为host,并且映射了一个容器卷,用于读取nacos的地址,再指定容器名称为user-service,最后指定使用的镜像名称。

大功告成!完整命令如下:

 # 清理镜像
docker image prune -f # 清理容器
if [ -n  "$(docker ps -a -f  name=user-service  --format '{{.ID}}' )" ] then#停止容器运行docker stop $(docker ps -a -f  name=user-service  --format '{{.ID}}' )#删除之前的容器docker rm $(docker ps -a -f  name=user-service  --format '{{.ID}}' )
fi# 启动容器
docker run -d  --net=host  -v scblogs-config:/config -e PARAMS="$params"  --name  user-service  scblogs/user-server

最后别忘了点击保存!

在这里插入图片描述


后记

经过上面这些步骤,我们完成了一个基本的自动化构建脚本,这个脚本会调用maven把我的项目打包,然后构建成一个docker镜像,再通过一段shell命令去启动这个程序。

如果你想尝试启动这个构建任务的话,你可以回到主页点击右边的绿色符号。

image-20230227193853334

当然,你大概率是会构建失败的😯。因为我的这份实例讲解并没有完全的讲清楚,甚至里面有很多步骤你都看不懂,是不是?

其实我并没有想写一份手把手的Jenkins使用教程,因为这要写的内容实在是太多了!

还记得我在实例讲解的最开始写的吗?写这个构建案例的目的是让你了解Jenkins自动化构建的原理,如果你看到这里已经发现了,这自动化构建,其实就跟我们手动构建部署差不多!只不过是把手动操作的东西设定成了脚本,那你就已经有能力去自己摸索它了。

用用插件、写写脚本,就可以搞定自己项目的自动化部署啦。

image-20230227195107925

实际情况是,我有一台服务器专门用于Jenkins自动化部署,还有一台服务器专门用于生产环境,这两台服务器都可以连接到外网,也可以互相访问到彼此。这是由于Jenkins构建时是会比较吃CPU的,为了不影响生产环境,所以我把它们分开了。当然,这种情况下,脚本也会稍微复杂一点,具体流程大概是下面这样的:

image-20230227202045327

如果你对我的项目感兴趣,欢迎访问项目的GitHub地址:stick-i/scblogs: 🎉校园博客,基于微服务架构且前后端分离的博客社区系统。项目后端技术栈:SpringBoot + SpringCloud + Mybatis-Plus + Nacos + MySQL + Redis + MQ + ElasticSearch + Docker。前端主要是基于Vue2和ElementUI进行开发的。 (github.com)


都看到这里了,各位靓仔、靓妹,请帮我点一个赞吧!

在这里插入图片描述

http://www.mmbaike.com/news/101713.html

相关文章:

  • 网站的版式设计要看网的域名是多少
  • 手上有一个好网站怎么做赚钱seo快速排名利器
  • 做网站需要学java长春关键词优化报价
  • 推广网站挣钱 优帮云手机游戏性能优化软件
  • 有一个做ppt的网站吗郑州seo地址
  • 北京网站建设公司兴田德润电话网络广告营销案例
  • 聊城集团网站建设多少钱百度下载app
  • 手机网站内容管理系统网站模板设计
  • 台州做网站哪家好网页设计可以自学吗
  • 找个兼职做网站的下载百度导航app
  • 网站html5自适应网络优化培训
  • 重庆建设工程信息网站青岛seo网站管理
  • wordpress主题 king西安全网优化
  • 怎么样做美术招生信息网站网站源码
  • 网站设计合同附件天津百度快速优化排名
  • 设计师用的素材网站百度关键词排名工具
  • 简单网站建设seo优化技术是什么
  • 下载软件的网站推荐建网站多少钱
  • 怎么把网站做成app软文推广怎么做
  • 上海宝山建设局官方网站seo是什么意思怎么解决
  • 自己做的网站怎么在百度搜索到百度识图网页版
  • 深圳网站建设开发公司上海高端seo公司
  • p2p理财网站开发框架百度文库登录入口
  • 90设计app郑州网站关键词优化公司
  • 南宁网站 制作seo外链要做些什么
  • 提供网站建设运营公司资质运用搜索引擎营销的案例
  • 网站建设开票开什么内容如何做营销推广
  • 电子商务网站建设与管理答案b爬虫搜索引擎
  • 购物网站开发问题域分析app开发教程
  • 郑州网站建设 郑州网站设计双桥seo排名优化培训