背景

代码不断修改过程中,去服务器部署需要人为的重复工作,所以用jenkins去代替人力,去服务器上面部署最新代码提高工作效率,让测试等不懂部署方式的人,也可以去根据最新代码部署项目。该介绍包括前后端项目部署

需要安装好Jenkins

我之前有一篇安装Jenkins文章,有需要可以去看一下。
在这里插入图片描述

插件安装

系统管理

在这里插入图片描述

插件管理

在这里插入图片描述

插件查找,找到后勾选左下角安装

在这里插入图片描述

中文设置插件

在这里插入图片描述
安装好后去系统管理设置
在这里插入图片描述
找到刚刚的插件输入zh_CN,点击应用可以了,如果不行,进行jenkins重启
在这里插入图片描述

Maven插件

在这里插入图片描述

Jenkins部署清空原有workspace

输入workspace cleanup
在这里插入图片描述
重启Jenkins后就可以看到对应功能
在这里插入图片描述

安装git插件

在这里插入图片描述

部署java流水线(以码云为例)

全局配置

maven配置

在这里插入图片描述

Jdk设置

在这里插入图片描述

Git设置

在这里插入图片描述

Maven

在这里插入图片描述

Git权限配置

Liunx生成公钥

# 中间内容随意,只是作为名词管理
ssh-keygen -C "xxxxx@xxxxx.com" 

查看公钥

cat ~/.ssh/id_rsa.pub

在这里插入图片描述

Gitee添加公钥

在这里插入图片描述

首次需要确认并添加主机本机SSH可信列表
ssh -T git@gitee.com

在这里插入图片描述

设置后端流水线

命名流水线

根据流程命名流水线创建一个maven项目流水线
在这里插入图片描述

选择丢弃版本

在这里插入图片描述

设置git地址分支

一定上面对应公钥账号一定要有下面代码库的权限,否则会报权限异常
在这里插入图片描述

构建触发器

这次选择的是手动创建,也可以在下面选择push代码时,进行流水线构建
在这里插入图片描述

构建环境

在这里插入图片描述

Build

pom.xml
clean package -Dmaven.test.skip=true -Ptest

在这里插入图片描述

Post Steps

在这里插入图片描述

其中shell脚本,记得一定要将项目启动脚本提前放入到对应工作目录

# jenkins中存放项目资源位置/var/lib/jenkins/workspace/流水线名称/TARGET_DIR位置
TARGET_DIR=demo
# 项目的工作目录,放jar包,日志启动脚本
WORKDIR=/export/项目名称/backend
JARNAME=项目jar包名称.jar

TMP_JARNAME=$JARNAME".tmp"
cp $TARGET_DIR"/"$JARNAME $WORKDIR/$TMP_JARNAME
cd $WORKDIR
echo "当前工作路径: "`pwd`
mv $JARNAME $JARNAME.$(date +%Y%m%d%H%M).bak || true
mv $TMP_JARNAME $JARNAME
./start.sh

启动流水线

找到要启动的项目

在这里插入图片描述

启动构建

在这里插入图片描述
下面生成新的构建记录
在这里插入图片描述

项目构建成功

其中有编译过程,将旧版本jar包改名和运行启动脚本。
在这里插入图片描述

构建前端码流水线

前置要求

先在服务器上面安装nvm

用来管理nodejs
在这里插入图片描述

下载nvm安装包

安装包地址

解压nvm
mkdir -p /root/.nvm
tar -zxvf nvm-0.38.0.tar.gz -C /root/.nvm
配置环境

打开 ~/.bashrc

gedit ~/.bashrc

末尾添加下面语句

export NVM_DIR="$HOME/.nvm/nvm-0.38.0"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
# This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  
# This loads nvm bash_completion
# nodejs下载更换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
启动配置
source ~/.bashrc

安装nginx

nginx安装教程
nginx.conf配置文件中进行配置

server {
        listen       8888;
        server_name  localhost;

        location / {
            alias  /export/项目名称/fontend/dist/;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

命名流水线

在这里插入图片描述

General

在这里插入图片描述

源码管理

在这里插入图片描述

构建环境

在这里插入图片描述

构建

在这里插入图片描述

#!/bin/bash -ilex
# 工作目录
WORK_DIR=/export/项目目录fontend
NODE_VERSION=16.17.0
BUILD_PROFILE=build:stage
# 访问后端接口
URL=http://ip:端口号
PROFILE_FILE=.env.staging

if [ -n "$URL" ]; then
    echo "VITE_APP_BASE_API = '$URL'" >> $PROFILE_FILE
fi
nvm use $NODE_VERSION
npm install --registry=https://registry.npm.taobao.org
npm run $BUILD_PROFILE
zip -r dist-new.zip dist
cp dist-new.zip $WORK_DIR
cd $WORK_DIR
mv dist.zip dist.zip.$(date +%Y%m%d%H%M).bak || true
mv dist-new.zip dist.zip
rm -rf dist
unzip dist.zip

启动构建

在这里插入图片描述

构建成功

在这里插入图片描述

可能出现的问题

maven版本问题

之前安装的时候,使用了3.9.1版本的maven出现问题后,定位问题发现maven版本太高的问题替换为3.8.3版本后,问题消失
在这里插入图片描述

nvm版本问题

问题表现

在这里插入图片描述

问题解决

用nvm安装对应版本的nodejs

# 安装对应版本的nodejs
nvm install 16.17.0

在这里插入图片描述

nvm安装

下载
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.38.0.tar.gz
解压
mkdir -p /root/.nvm
tar -zxvf v0.38.0.tar.gz -C /root/.nvm
配置环境
vim ~/.bashrc

末尾追加

export NVM_DIR="$HOME/.nvm/nvm-0.38.0"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
# This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  
# This loads nvm bash_completion
# nodejs下载更换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
配置生效
source ~/.bashrc
查看nvm版本
nvm -v

在这里插入图片描述

原文地址:https://blog.csdn.net/qq_43560984/article/details/129859411

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_17899.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注