【Linux】安装Jenkins并且打包发布springboot项目

文章目录

概要

目前Java最流行的CI/CD工具是Jenkins,问了几个前同事的公司,有很多都在使用它,而我还在本地打包手动上传,所以准备也搞一下。

整体架构流程

服务器系统:Alibaba Cloud Linux 3.2 64位

运维面板:宝塔 v11.7

是否基于Docker: 是

Jenkins版本: 2.492.3

代码git库:gitee

打包项目:springboot

技术细节

安装好宝塔面板后,直接在右侧主栏中选择并安装Docker,不要再去软件商店里找了。

安装好Docker后,不要在宝塔面板中选择安装Jenkins,因为宝塔自带的版本相对比较老...

这里我们推荐使用命令安装指定版本,因为随后需要安装maven与git的插件,为了选择最大兼容性,我们选择了2.492.3这个版本。

选择宝塔的终端,开始安装jenkins:

bash 复制代码
docker run -d \
  --name jenkins \
  --privileged \
  -p 14808:8080 \
  -v /www/docker/jenkins:/var/jenkins_home \
  -u root \
  jenkins/jenkins:2.492.3-lts-jdk17

安装好后,可以运行一下docker进程命令看一下效果:

bash 复制代码
docker ps

如果想要进入这台docker容器:

bash 复制代码
docker exec -it jenkins /bin/bash

打开浏览器访问:http://ip:14808,记得打开防火墙,端口号可以映射其他的,别冲突就好。

初次访问,需要填写原始密码:

bash 复制代码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

进入后选择自定义安装插件,如果之前安装过其他版本,并且有很多残留插件,想要一键清除掉之前的插件,可以这样做:

bash 复制代码
docker stop jenkins
# 删除所有插件文件
rm -rf /www/docker/jenkins/plugins/*
# 删除插件缓存,避免残留
rm -rf /www/docker/jenkins/cache
rm -rf /www/docker/jenkins/plugins/*.bak
rm -rf /www/docker/jenkins/plugins/*.jpi
docker start jenkins

进入主界面前需要配一个管理员账号,

第一步:安装插件: 中文插件,maven,git.

进入主界面点击系统管控,管理插件,可用插件,搜索chinese,安装中文插件

安装后重启,重启后可能就挂了,可以docker ps查看进程是否还在,不在了就docker start jenkins手动起来。

然后再安装Maven Integration与git插件。

Jenkins之所以选择2.492.3这个版本,就是因为兼容插件,如果选择更早的版本,这里安装的时候,就会有很多的失败,踩过坑才知道的。

第二步:配置 JDK 1.8 + Maven

进入 系统管理 → 全局工具配置

新增 JDK:

名称:jdk17

JAVA_HOME:/opt/java/openjdk

点 新增 Maven

名称:maven39

勾上自动安装

版本选最新的 3.9.x

点 保存

第三步:配置 Gitee 账号密码

左侧 凭据 → 系统 → 全局凭据

左上角 添加凭据

类型:用户名密码

用户名:你的 Gitee 账号

密码:你的 Gitee 密码

ID 可以空,描述写:gitee

点 创建

第四步:创建构建任务(关键)

  1. 新建任务
    任务名称:随便填
    选择:构建一个 Maven 项目
    确定
  2. 配置源码管理
    选 Git
    Repository URL:填你的 Gitee https 地址
    Credentials:选你刚才添加的 gitee 账号

Goals and options:

bash 复制代码
clean package -Dmaven.test.skip=true

点最下面 保存

第五步:立即构建,看是否打包成功

小结

提示:这里可以添加总结

例如:

提供先进的推理,复杂的指令,更多的创造力。

相关推荐
Flynt4 小时前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
AlfredZhao7 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
掉鱼的猫1 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
戴为沐1 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
人活一口气2 天前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux