视频教程:https://space.bilibili.com/362946499/channel/seriesdetail?sid=3817978

文章目录

本地安装服务器

只需要在VM虚拟机中,安装一个CentOs操作系统即可,并且配置固定IP。

Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

cd /etc/sysconfig/netword-scripts
vi ifcfg-ens33

# 修改以下两个属性
BOOTPROTO=static
ONBOOT=yes

# 新增以下三个命令, IP请点击 编辑 -> 虚拟网络编辑器 -> nat -> 网关
IPADDR=192.168.xx.xx #IP地址
PREFIX=24
GATEWAY=192.168.xx.xx #网关地址

然后输入 ping www.baidu.com,如果出现 未知的名称,则继续修改以下配置文件。

vi /etc/resolv.conf
# 新增以下两行命令
nameserver 8.8.8.8
nameserver 114.114.114.114

1.Jenkins介绍

当我们的代码推送到仓库之后,Jenkins自动拉取我们的代码,帮我们自动打包及部署到服务器。

  • 这样我们只推送到代码就可以了,无需手动打包及部署了。

2.宿主环境

我是在自己的笔记本上安装了一个VM,然后在 VM 中安装的 CentOs 操作系统!!!

  • 系统环境:CentOs 7
  • 服务器可视化面板:宝塔
  • 内网穿透工具:OpenFrp Launcher
  • 代码管理平台:gitee
  • Jenkins:2.426.1 LTS

3.安装Jenkins

1、首先我们需要去安装 Jenkins 的 war 包:

  • https://www.jenkins.io/download
    Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

2、然后我们需要在宝塔中,创建一个文件夹,将war包放到该文件夹中。

3、在网站中,添加一个 Java项目, 选择SpringBoot类型,项目jar路径就选择war包。

  • JDK需要选择 11 及以上。
  • 项目执行命令输入框中,需要将 --server.port 替换成 httpPort,否则会启动失败。

Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

在创建之后正常情况下就会自动创建,然后我们可以点击项目日志,查看默认管理员密码。

Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

然后可以通过端口号或者添加一个域名映射,去访问Jenkins面板,输入默认密码之后,选择安装推荐插件,然后创建管理员用户名。

4.配置插件下载源

默认的下载源是在国外的,我们可以使用清华园提供的。

  • 点击:Manage Jenkins -> Plugins -> Advanced settings。
  • 将升级站点的值改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json,然后提交。

由于我们使用的是 gitee 管理平台,所以需要安装一个插件。

  • Manage Jenkins -> Plugins -> Available plugins 搜索 Gitee
  • 由于我们在打包时需要 Node,所以我们在此也将 Node 安装上。
  • 安装时可以将 安装完成后重启Jenkins 打上勾。

Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

然后我们去配置Tools。

  • Java_Home:写下面红框中的地址就行了。Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)
  • Git:由于在新手入门时安装了Git插件,所以只需要改默认名就行了。
  • NodeJs:不选择自动安装,在此处选择Node项目,使用此处安装的。Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

5.配置Gitee

打开 manage -> system -> Gitee链接,输入完成以后,点击提交。
Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

6.项目假设

假设我这里有一个 博客 项目:

  • dev分支:用来让公司员工去测试功能,而master分支是让用户使用的。
    • 它部署到 dev.yq2048blog.cn 中。
  • master分支:就是给用户正常使用的站点。
    • 它部署到 yq2048blog.cn 中。
  • 如果这里输入的是域名并且是本地虚拟机,那么就需要去 hosts 文件进行解析。
    • 或者使用 端口 的形式,这样使用IP访问就可以,无需进行解析。
  • 首先我们需要去 gitee 创建一个仓库,并且创建出这两个分支。
  • 并且应该在宝塔中有两个站点,一个是 dev.yq2048blog.cn(测试),一个是 yq2048blog.cn(生产)。

7.添加任务

现在我们去 Jenkins 添加两个任务,分别监视着这两个分支,只要分支有变化,就让它拉取代码,并构建和部署。

  • 点击:新建Item -> 创建自由风格 -> 并输入项目名称【Vue_Dev[表示开发分支]】。
  • 然后点击该任务,进入后点击:配置 -> 源码管理 -> 输入仓库地址。

Jenkins - 自动化打包部署 - (Jenkins+Gitee+本地服务器)

  • 指定分支 中输入 dev,表示监视着 dev 分支。
  • 构建触发器 中,选择 Gitee webhook 触发构建
    • 如果你是公网,那么可以不使用内网穿透。如果是内网,则需要使用内网穿透。
    • 复制旁边的网址,进入到 gitee 项目仓库,点击管理 -> WebHooks -> 将网址粘贴进去。
    • 如果是内网穿透:http://这里替换成穿透地址/gitee-project/Vue_Dev
    • 然后将以上地址粘贴到 webHooks 中。
  • 然后在 Jenkins 下方,还要生成 Gitee WebHook 密码 密码,同样也粘贴到 gitee 中。
  • 在构建环境中,选择:Provide Node & npm bin/ folder to PATH
  • 然后在构建步骤中,选择执行 shell。
  • 并输入命令:
    • npm install
    • npm run build
    • cp -r ./dist/* 目标路径(站点的根目录)
  • 然后就会帮我们自动构建,并且部署了,如果失败了,则可以查看控制台输出,看看是哪里出错了。