【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

点最下面 保存

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

小结

提示:这里可以添加总结

例如:

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

相关推荐
bush411 小时前
嵌入式linux学习记录十二,mmap
java·linux·学习
似水এ᭄往昔12 小时前
【Linux系统编程】--进程概念
linux·运维·服务器
Dxy123931021612 小时前
Linux 如何关闭关不掉的进程
linux·运维·chrome
小徐敲java12 小时前
Linux读取串口实时数据
linux·运维·服务器
keyipatience13 小时前
25.Linux静态动态库全解析
linux·运维·服务器
爱睡觉11113 小时前
在 Android 模拟器 Shell 下运行 ncnn 推理的性能排查记录
linux·shell
落羽的落羽14 小时前
【项目】JsonRpc框架——开发实现1(细节功能、字段定义、抽象层、具象层)
linux·服务器·网络·c++·人工智能·算法·机器学习
shixuzhimeng14 小时前
FTP服务器项目
linux·网络·ftp
Chris-zz14 小时前
Linux:线程概念与控制
linux·运维
剑神一笑14 小时前
Linux chown 命令详解:从 inode 到实战
linux·运维·服务器