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

jenkins安装配置,使用Docker发布maven项目全过程记录(1)

使用的CentOS8 系统,其它Linux系统类似

1、jenkins安装

1.1、配置JAVA环境

使用的服务器环境中,安装了Java1.8与Java17,当前jenkins的最低java版本要求java11。系统默认使用的是java1.8,因此需要切换环境。

alternatives --config java

系统弹出提示:

  选项    命令
-----------------------------------------------
*  1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java)+ 2           java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64/bin/java)按 Enter 保留当前选项[+],或者键入选项编号:

在这里,输入2,切换为java-17环境,否则运行jenkins时会报错。

1.2 安装jenkins

# 获取jenkins的安装地址
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo# 获取jenkins的公钥
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key# 安装
yum install jenkins

安装完成后,可以运行测试

# 运行jenkins
systemctl start jenkins# 设置为自动启动
systemctl enable jenkins

检查jenkins运行状态

# 检查jenkins运行状态,需要注意是否有exit code字样
systemctl status jenkins

设置防火墙

# 开启8080端口
firewall-cmd --permanent --zone=public --add-port=8080/tcp# 启用防火墙设置
firewall-cmd --reload

浏览器打开jenkins

http://<<you-ip-address>>:8080

此时会要求输入管理员密码

cat /var/lib/jenkins/secrets/initialAdminPassword

系统会输出一个字符串,复制此字符串,输入后,会进入系统插件安装页面,安装推荐的即可。

等待安装完成后,其它可以保持默认配置,进入主页面。

1.3 配置jenkins

1.3.1 安装插件

选择 Manage Jenkins,进入Plugins,选择Availabel Plugins。按需安装如下插件:

Ant
Build Timeout
Command Agent Launcher Plugin
DingTalk    // 如需钉钉相关支持
Docker Pipeline
External Monitor Job Type Plugin
Email Extension Plugin
Generic Webhook Trigger Plugin    // 重要
Git Parameter Plug-In
Gradle Plugin    // 如需Gradle
JavaMail API
JDK Parameter Plugin    // 如需使用特殊的Java参数
LDAP Plugin
Locale plugin
Localization Support Plugin
Matrix Authorization Strategy Plugin
NodeJS Plugin    // 如需NodeJS
PAM Authentication plugin
Pipeline Graph Analysis Plugin
Pipeline: Multibranch with defaults
Pipeline: Stage View Plugin
Publish Over FTP
SSH server    // 如需使用SSH
WMI Windows Agents Plugin
Workspace Cleanup Plugin

安装完成后重启jenkins(可选择自动重启),也可手动输入命令

systemctl restart jenkins.service

1.3.2 安装配置Maven、JDK、Docker

1.3.2.1 Maven配置

首先,把Maven配置为使用国内源

在Default global settings provider处选择Global settings file on filesystem

配置系统中的路径:/path/to/maven-setting/settings.xml。文件格式如下:

<settings><mirrors><mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public </url></mirror></mirrors>
</settings>

其次,可以进行多版本Maven的管理

a)找到Maven installations,选择Add Maven,设置maven名称,用于使用时选择,我的习惯是使用maven+版本号,如:maven3.9.6

b)去掉Install Automatically的选项(经常下载失败),自在手动找到在系统中下载maven,并解压至指定文件夹,把路径写在MAVEN_HOME处,如:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven3.9.6/apache-maven-3.9.6

保存配置即可。

1.3.2.2 JDK配置

a) 选择JDK installations,选择Add JDK。输入JDK名称,用于使用时选择,我的习惯是使用java+大版本号,如:java17

b) 去掉Install Automatically的选项(经常下载失败),自在手动找到在系统中下载maven,并解压至指定文件夹,把路径写在JAVA_HOME处,如:/var/local/jdk-17.0.10

1.3.2.3 Docker配置

docker的配置相对比较特殊,docker直接需要在系统中进行配置。Jenkins直接使用系统中的默认配置。

至此,Jenkins的安装与配置全部完成。

快捷链接

jenkins安装配置,使用Docker发布maven项目全过程记录(2)icon-default.png?t=N7T8https://blog.csdn.net/dickence/article/details/135769321

相关文章:

  • git checkout和git switch的区别
  • 微信小程序(十五)自定义导航栏
  • 定向减免!函数计算让轻量 ETL 数据加工更简单,更省钱
  • 那些年与指针的爱恨情仇(一)---- 指针本质及其相关性质用法
  • C# 只读文件删除提示失败,给文件修改属性
  • 【论文笔记】《Learning Deconvolution Network for Semantic Segmentation》
  • YOLOv8加入AIFI模块,附带项目源码链接
  • JSON-handle工具安装及使用
  • 2024年可能会用到的几个地图可视化模板
  • 五、详细设计说明书(软件工程)
  • three.js 鼠标选中模型弹出标签
  • Spring Boot3整合Druid(监控功能)
  • 极简Matlab快速傅里叶变换FFT
  • 顶顶通呼叫中心中间件机器人压力测试配置(mod_cti基于FreeSWITCH)
  • Spring5系列学习文章分享---第五篇(事务概念+特性+案例+注解声明式事务管理+参数详解 )
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Mysql数据库的条件查询语句
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 二维平面内的碰撞检测【一】
  • 前端攻城师
  • 山寨一个 Promise
  • 使用putty远程连接linux
  • 手写双向链表LinkedList的几个常用功能
  • 通过git安装npm私有模块
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 透过事物看本质的能力怎么培养?
  • #pragma once与条件编译
  • ( 10 )MySQL中的外键
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (力扣)循环队列的实现与详解(C语言)
  • (一)认识微服务
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • . Flume面试题
  • .net FrameWork简介,数组,枚举
  • .net 反编译_.net反编译的相关问题
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .net开发时的诡异问题,button的onclick事件无效
  • @Transactional类内部访问失效原因详解
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • []error LNK2001: unresolved external symbol _m
  • []sim300 GPRS数据收发程序
  • [AIGC] Redis基础命令集详细介绍
  • [BZOJ4010]菜肴制作
  • [C++] 统计程序耗时
  • [codeforces]Recover the String
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽