Jenkins从零安装、配置Vue、springboot项目打包部署

Jenkins是一款开源CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。这里我们使用Jenkins自动部署Vue前端项目到nginx与部署Springboot项目到服务器

Docker安装Jenkins

  1. Docker启动jenkins,这里选择JDK8版本的Jenkins镜像,选择最新的默认为JDK11,后面的gitlab插件无法安装。
docker run --name jenkins -u root -p 8080:8080 -p 5000:5000 -v /home/devops/jenkins/jenkins_home:/var/jenkins_home 
-d jenkins/jenkins:2.334-jdk8
  1. 启动成功,进入容器中查看Jenkins初始化密码
docker exec -it 容器id /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
  1. 在浏览器输入http://ip:8080,输入初始化密码登入jenkins。

    Jenkins从零安装、配置Vue、springboot项目打包部署
    image-20220214194507413

Jenkins配置

安装插件

安装Jenkins插件,这里分为在线安装与离线安装方式。需要安装的插件有Git Plugin,Publish Over SSH,Maven Integration,GitLab。其中Publish Over SSH Jenkins官方因为存在安全风险已下载,需要我们手动下载publish-over-ssh.hpi,离线安装。在插件管理高级Deploy Plugin

Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214195040199

配置Node、NPM

因为是使用Docker安装的Jenkins需要进行容器中,手动安装Node、NPM、GIT。

docker exec -it jenkins /bin/bash
#修改ubuntu为国内源/etc/source/
apt-get udpate
apt-get install nodejs
apt-get install npm
apt-get install git
#下载maven安装包解压到/usr/local/目录下。这里修改默认settings.xml中配置。这里我添加了私服的镜像。

配置Maven

在全局工具配置中添加Maven安装,添加MAVEN_HOME为容器内Maven家目录。

Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214195735850

配置Gitlab账号与密码

在全局授权中配置Gitlab上创建给Jenkins的用户与密码。

Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214195947873

Jenkins打包Vue项目

这里的步骤是从GItLab的DEV分支拉取前端项目源码,编译打包之后通过Publish Over SSH上传到远程的Nginx的/var/www/html目录下。
新增一个自由风格的软件项目:
Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214200508186
从Gitlab拉取源码前端项目源码:
Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214200132774
打包编译Vue项目,这里配置了从私服拉取依赖。
Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214200159160
通过Publish Over SSH上传到远程服务的指定目录下。
Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214200238810

Jenkins打包SpringBoot项目

新增一个Maven项目,从Gitlab拉取源码,同Vue这里不贴图了
Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214200545461

配置Maven打包命令

这里为一个父子模块的项目,我只需要打包子模块。采用-pl -am命令。
Jenkins从零安装、配置Vue、springboot项目打包部署
image-20220214200729483
如果项目是单个项目填写以下内容即可
-Dmaven.test.skip=true clean package
通过Publish Over SSH上传到服务器,执行启动脚本。
echo 'start deploy'
name=<程序名称>
cd /tmp
mv $name.jar $name
mv $name <程序部署路径>
pid=`ps aux|grep $name|grep -v "grep"|awk '{print $2}'`
echo $pid
if [ $pid ]; then
  echo "先杀掉该进程"$pid
  kill -9 $pid
 fi
ip=`ifconfig -a|grep 192.28.7|awk '{print $2}'`
echo "开始启动...."$ip
nohup java -server -Xms2048m -Xmx2048m -XX:PermSize=1024M -XX:MaxNewSize=512m -XX:MaxPermSize=2048m -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -Deureka.instance.ipAddress=$ip -Dspring.profiles.active=prod -jar /home/atc/bin/$name >>/dev/null 2>&1 &
echo "启动成功......"


原文始发于微信公众号(编程异次元):Jenkins从零安装、配置Vue、springboot项目打包部署

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/235147.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!