新手上路,对着视频做了一个谷粒的在线教育项目。测试跑通之后,想要自己试着部署到自己的云服务器上,闲着也是闲着不是。言归正传

  • 简介
    在微服务架构中,随着服务越来越多,服务的打包部署就会成为一个相当麻烦的事情。比如说我的edu-online项目目前就有10个服务需要部署,有没有什么办法让我们部署一次之后,只要点击执行就可以自动部署呢?当然有!下面我们使用Jenkins来完成一个微服务架构中的自动化部署工作。

  • Jenkins的基本使用
    关于Jenkins的基本使用可以参考使用Jenkins一键打包部署SpringBoot应用

  • 前期准备
    将自己本地的项目上传到远程仓库,在idea里面装上git的插件,并配置好git,git的配置可以参考Git 安装配置全流程,这里我是上传到了gitee。
    将项目的前台也上传到gitee上

git pull origin master --allow-unrelated-histories
git add .
git commit -m '提交说明'
git push origin master
  • 服务器环境准备
    1 安装JDK
    本文采用jdk-8u181-linux-x64.tar.gz;
    2 安装maven
    本文采用apache-maven-3.6.1-bin.tar.gz
    3 安装nacos
    本文项目用到了服务注册,不想远程连接了,直接全在服务器上吧。采用nacos-server-1.4.2.tar.gz
    4 安装mysql
    同上,类似服务器不偿命,反正快到期了。采用的是mysql-5.7.36-linux-glibc2.12-x86_64.tar
    5 安装node
    部署完事后端代码,顺道把前台页面也安排上了。采用了node-v10.14.2-linux-x64.tar.gz
    6 安装redis
    本文使用的是redis-5.0.5.tar.gz。当我装了这么多东西,然后后台运行,整好开机启动,才发现好他喵的卡,cpu占用嘎嘎的高,以至于后来点jenkins部署的时候,一等就是大半天。
    7 安装httpd
    有些linux版本中已经预置了有Apache,并且已经是服务了,所有首先检查系统中是否已经存在httpd的服务。我的服务器上不知咋的反正没有,那就装一下把。具体可参考Linux中Apache(httpd)安装、配置、加为服务
  • Jenkins的安装及配置
    在这里我直接懒省事了,下载了war包直接运行的。war包下载地址:下载war包,完事之后跑起来。启动war包命令
nohup java -jar jenkins.war &

这个时候打开浏览器访问地址:http://ip:8080,即可访问到jenkins。第一次登录需要输入管理员密码,然后创建用户,装插件,创建实例等。这里我是对着视频配置的。jenkins安装配置
一系列都正好之后,就来到了这个页面,第一次进来什么都没有,我这个是已经配置完的。

这里有个小问题忘说了,就是部署时候可能会提示说不建议root用户进行部署,涉及权限问题什么的。然后说给jenkins用户加权限操作等,我没管他,
直接全部上到了root里面。

  • 开始部署
    首先为父工程创建了任务。默认是没有maven项目的,想直接创建maven的可以先行安排上插件,不过创建自由风格的也行,自己写命令就完了。
    进来之后把仓库地址配置上

    因为整了maven,这里也方便了一点,直接
clean package -Dmaven.test.skip=true

然后经过漫长的等待下载依赖打包即可。可以通过查看控制台输出有无报错问题并更改。

我这里已经SUCCESS了。
接下来把模块都安排上,这里使用的最简单的办法,没有使用视频中的docker部署。

BUILD_ID=DONTKILLME
#!/bin/bash
#获取你想运行jar包的进程号
pid=`ps -ef | grep api_gateway-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
#如果存在则把该进程杀掉
if [ -n "$pid" ]
thenecho "kill -9 的pid:" $pidkill -9 $pid
fi
echo "复制jar包"
#把jenkins打的jar包复制到自己指定的目录下
cp  /root/.jenkins/workspace/edu_parent/infrastructure/api_gateway/target/api_gateway-1.0-SNAPSHOT.jar /usr/mydemo
echo "启动jar包"
#最后启动jar包并把日志输出到指定的文件中以便查看
nohup java -jar /usr/mydemo/api_gateway-1.0-SNAPSHOT.jar > /usr/mydemo/api_gateway.log 2>&1 &

其他模块类似,以此类推,将所有模块都新建任务并构建。通过log文件查看

最后部署前台项目

#!/bin/bash
pwd
lsnode -v
npm -v
git --version
java -versionecho '构建的版本号:'${BUILD_NUMBER}
npm install
npm run build
pwdecho '----- 以上的列出的文件是 jenkin 服务 workspace 中 vue-admin-template-master 目录下的文件-------'echo "复制dist文件夹"
#把dist文件夹复制到httpd服务器指定的目录下
cd /var/www/html/
#mkdir vue-admin-template-master
cp -r /root/.jenkins/workspace/vue-admin-template-master/dist/* /var/www/html/vue-admin-template-master/
echo "构建完成"

在服务都已经起起来的时候,访问http://ip/项目名就可以访问到了。

接下里就可以愉快的访问自己部署在服务器上的项目了。

  • 写在最后
    本人小白,即将毕业,第一次将项目部署到服务器,发此文仅作记录。如有纰漏或不周,望各位批评指正。
    快过年了,我们安阳疫情也紧张,已经连续4天天天做核酸了,提前祝大家新年快乐,愿所有人都能平平安安的回到家,和家人团聚,来年一帆风顺,码的都对,没有bug,工资涨涨涨。

jenkins部署微服务项目相关推荐

  1. k8s部署微服务项目

    之前用docker-compose部署微服务项目,但是只能单节点的(那你用微服务架构干啥?),所以想搞一下k8s集群,网上找了下资料没有视频专门讲这一块,自己找了很多资料,搞了蛮长时间的,所以记录一下 ...

  2. IDEA集成Docker插件实现一键自动打包部署微服务项目

    一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...

  3. docker部署微服务项目

    上次有人说部署单个springboot项目和ssm写的非常的简单可以写一篇docker部署微服务的结构的文章的吗 安排 什么是微服务? 微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每种应 ...

  4. Docker 部署微服务项目

    目录 一.前言 二.环境准备 1.安装 Docker 2.Docker 安装 MySQL 3.Docker 安装 Redis 4.Docker 安装 Nacos 5.Docker 安装 Nginx 三 ...

  5. Java学习 --- docker部署微服务项目

    目录​​​​​​​ 一.创建一个springboot项目 1.1.修改pom.xml文件 1.2.修改application.properties配置文件 1.3.创建controller层和类 1. ...

  6. linux系统部署微服务项目

    1.安装Centos7 1.1 官网下载centos7镜像.centos7官网下载地址 1.2 虚拟机安装镜像.(百度,不再赘述) 2.linux系统安装jdk 2.1 下载jdk 链接:https: ...

  7. docker+docker-compose部署微服务项目

    1.安装docker 1.1.配置官方源: sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/ ...

  8. K8s部署微服务(springboot+vue)

    文章目录 前言 一.使用到的K8s资源 1.1 Deployment 1.2 Service 二.Springboot基础服务部署 2.1 网关gateway 2.2 鉴权auth 2.3 文件fil ...

  9. k8s+jenkins+docker部署微服务实现CI/CD

    "所爱隔山海,山海不可平,海有舟可渡,山有路可行,此爱翻山海,山海皆可平." 作为一个想搞开发的,最近似乎都在干运维,不知道有没有跑偏... 2021.5.14 一般的中小公司个人 ...

最新文章

  1. w10系统老是自动息屏_大师解答win10系统无法自动关屏/待机和睡眠的恢复教程
  2. Maven 加载ojdbc14.jar报错,解决方法
  3. java实现多文件上传至本地服务器
  4. JavaScript面向对象编程理解
  5. KMP算法 --- 深入理解next数组
  6. 用AdobePageMaker制作PDF文档
  7. axure 8.1 破解 和 汉化
  8. U-Net模型搭建python实现
  9. html计时加速,HTML-加速、再加速
  10. t检验(t test)
  11. Pdf怎么设置页码,从正文开始
  12. Simple Usage of Sort in Golang
  13. 移动、电信光猫超级管理员密码
  14. 技术人员谈管理之帕累托法则(80/20法则)
  15. java获得当月法定工作日_java获取当月的工作日
  16. PHPWord的使用
  17. 安卓:No static method decodeBase64,commen-code包里报错的信息
  18. 51信用卡前端笔试题
  19. dB,dBi, dBd, dBc,dBm,dBw释义及区别
  20. java purge_springboot之全局处理统一返回

热门文章

  1. wxtemple.class.php,ThinkPHP3.2.3实现推送微信模板消息
  2. noip2002 字串变换 (双向宽搜,交替扩展)
  3. 【项目部署】使用Jenkins一键打包部署前端Vue应用
  4. 50个Java多线程面试题
  5. 生成器进阶--yield from
  6. 操作系统实验六 设备管理
  7. 挑战杯一次出乎意料的比赛
  8. 给人脸戴上口罩,Python实战项目来了
  9. 《DKN: Deep Knowledge-Aware Network for News Recommendation》知识图谱与推荐系统结合之DKN
  10. Flink stream load 方式写入doris