当前位置: 首页 > news >正文

Jenkins 部署与使用

定义

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

版本要求

  • Jenkins 2.60.1:第一个需要Java 8 的LTS 版本。
  • Jenkins 2.357 :开始需要Java 11。
  • Jenkins 2.463 :使用Java 17 或更高版本。

建议使用高版本, 很多插件都已经不支持低版本了, 查看所有版本

下载

这里以 2.504.2 版本为例, 下载 所需版本的jenkins.war
在这里插入图片描述
linux 可以使用命令下载

wget http://mirrors.jenkins.io/war-stable/2.504.2/jenkins.war

部署

参考文档

Jenkins的Web应用程序ARchive(WAR)文件版本可以安装在任何支持Java的操作系统或平台上。

启动命令

java -jar jenkins.war --httpPort=8080

应用默认端口为 8080 , 但是这个端口大多数情况下是会被其他应用占用的, 可以通过 --httpPort 参数指定应用端口

启动成功后, 如果是初次启动, 会打印管理员的密码, 如下所示,同时告诉用户密码存储在哪个文件中, 一般为 ~/.jenkins/secrets/initialAdminPassword

在这里插入图片描述

访问 http://localhost:8080/ , 用户名默认为 admin , 密码存储在 ~/.jenkins/secrets/initialAdminPassword 文件中

在这里插入图片描述

接下来就是插件安装了, 新手入门选择推荐安装, 也可以后面从 系统管理-》插件管理 添加所需的插件

在这里插入图片描述

以下是软件默认推荐的一些插件

在这里插入图片描述

安装完默认插件后, 可以自行创建用户, 或者直接使用 admin 用户

在这里插入图片描述

配置完用户, 进行根地址的配置, 默认值为 http://host:httpPort/

在这里插入图片描述

到这里, jenkins 就已经安装完毕了

在这里插入图片描述

使用 admin 或者自行创建的账号登录

在这里插入图片描述

汉化

插件库提供了一个 Locale 插件支持汉化,但是有很多问题

系统管理 -》 插件管理 - 》 Available plugins 搜索 Locale , 选中点击安装, 重启Jenkins 生效

在这里插入图片描述

简单使用

构建普通项目

新建任务, 选择构建一个自由风格的软件项目

在这里插入图片描述

填写项目名称, 配置项目信息

在这里插入图片描述

由于git 凭证还没创建, 配置 git 仓库时会报错, 点击添加按钮,将凭据录入,重新选择凭据即可

在这里插入图片描述

配置完成, 点击保存, 然后点击立即构建, 左下方会有一条构建记录, 可以查看其构建详情

在这里插入图片描述

构建成功后, 可以在工作空间看到拉下来的代码结构, 到这里简单的Jenkins (拉取git代码)就已经完成了, 如果需要有其他的动作, 点击配置, 重新进行流程的编排。

在这里插入图片描述

构建 maven 项目

使用Jenkins 构建maven 项目需要安装插件,
系统管理 -》 插件管理 - 》 Available plugins ,搜索 Maven IntegrationVersion, 点击安装, 安装完成后选择重启Jenkins

在这里插入图片描述

在这里插入图片描述

系统管理 -》 全局工具配置, 配置maven

在这里插入图片描述

系统管理 -》 全局工具配置, 配置jdk , jdk 配置了多个的情况下新建任务时可以选择jdk版本

在这里插入图片描述

新建任务, 可以看到多了一个可选择项,选择构建一个maven项目

在这里插入图片描述

配置 git 仓库

在这里插入图片描述

配置jdk

在这里插入图片描述

配置maven 操作

在这里插入图片描述

保存配置, 点击立即构建, 可以在工作空间中看到, maven 构建出来的 target

增加后续操作, 在下面几个配置项中配置, 如:上传到远程服务器,更新服务等
在这里插入图片描述

在这里插入图片描述

相关文章:

  • Nordic nRF52832 寄存器级 UARTE 发送实现
  • Python中的多线程与协程:程序、线程、进程之间的关联关系
  • 发布:大彩DN系列3.2寸全视角IPS串口屏发布!
  • MySQL(基础篇)
  • Django 零基础起步:开发你的网站第一步
  • 阿里推出 R1-Omni:将强化学习与可验证奖励(RLVR)应用于全模态大语言模型
  • 如何将 Memfault 固件 SDK 集成到使用 Nordic 的 nRF Connect SDK(NCS)的项目中
  • LlamaIndex基础概念与核心架构
  • Linux中部署Jenkins保姆间教程
  • [mcp-servers] docs | AI客户端-MCP服务器-AI 架构
  • WPF 实现自定义弹窗输入功能
  • 第一章-人工智能概述-深度学习与AI发展(2/36)
  • 星型模式(Star Schema)
  • 代码随想录|图论|05岛屿数量(深搜DFS)
  • 重建与数字子序列匹配的最小数字序列的有效方法
  • element-plus 按钮 展开/隐藏
  • css 颜色与字体
  • Flux.create
  • Mac电脑如何搭建基于java后端的开发的各种工具服务
  • WebSocket 与 HTTP 的区别及 Spring Boot 实战应用