【服务器部署篇】Linux下Jenkins安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产生了写一个博客专栏想法,介绍当前互联网企业JAVA项目开发如何快速入门。

本文收录于《30天企业JAVA项目开发实战入门》专栏,该专栏内容以当前互联网软件企业中的项目实战为线索,介绍企业JAVA项目开发中涉及到的开发流程、技术、工具、规范要求等等。帮助想从事JAVA开发的大学生或新人,更快、更好的入门JAVA后端开发工作。

文章目录

    • 一、前言
    • 二、下载&安装
    • 三、配置
    • 四、总结

一、前言

本文介绍在Linux环境下使用Docker方式如何安装Jenkins。

  • Jenkins是什么?

    Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。它是基于Java开发的一种CI持续集成、CD持续部署工具,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。它的前身Hudson是一个可扩展的持续集成引擎,可用于自动化各种任务,如构建,测试和部署软件等等。

    Jenkins官网地址:https://www.jenkins.io/zh/
    在这里插入图片描述

二、下载&安装

首先,从Jenkins官方Docker镜像仓库中,下载Jenkins的镜像安装包。

Jenkins官方Docker仓库地址:https://hub.docker.com/r/jenkins/jenkins

在这里插入图片描述

从官网上可以看到,当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。

所以,我们这里,执行docker pull命令,下载该版本的Jenkins的镜像安装包;

docker pull jenkins/jenkins:lts-jdk17

之后,新增一个Jenkins的工作目录;

mkdir -p /docker/jenkins_home

之后,设置Jenkins工作目录的文件权限,即设置文件的属主或者拥有者为Jenkins。(PS:因为"docker"用户在宿主机上的uid默认是"1000")

chown -R 1000 /docker/jenkins_home

之后,执行docker run命令,开始安装Jenkins。

docker run -d \
-p 8888:8080  \
-p 50000:50000  \
-v /usr/bin/docker:/usr/bin/docker  \
-v /docker/jenkins_home:/var/jenkins_home  \
-v /etc/localtime:/etc/localtime   \
--privileged=true  \
--restart=always \
--name=jenkins \
jenkins/jenkins:lts-jdk17

命令参数详解如下:

  • -run -d :后台运行容器;
  • -p 8888:8080 将容器的 8080 端口映射到服务器的 8888端口上;
  • -p 50000:50000 将容器的 50000 端口映射到服务器的 50000 端口上;
  • -v /usr/bin/docker:/usr/bin/docker 将容器中 docker目录挂载到宿主机上,方便调用宿主机的docker命令;
  • -v /docker/jenkins_home:/var/jenkins_home 将容器中 Jenkins 的工作目录挂载到宿主机上;
  • -v /etc/localtime:/etc/localtime 设置容器使用跟宿主机同样的时间设置;
  • –privileged=true 赋予容器root权限,便于进入容器;
  • -restart=always 设置容器自动重启;
  • -name=jenkins 给容器起的别名;
  • jenkins/jenkins:lts-jdk17 镜像名称加版本号;

之后,安装完成,可以使用docker ps命令,查看Jenkins容器的运行状态;

docker ps

在这里插入图片描述

如果Jenkins容器状态显示为UP,表示Jenkins启动成功。

三、配置

安装完成后,下面开始配置。

在开始配置之前,首先,修改Jenkins插件下载源地址,设置为国内的镜像源地址,比如清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json (PS:这个很重要,否则会导致插件安装失败。)

cd  /docker/jenkins_home

vi hudson.model.UpdateCenter.xml 

在这里插入图片描述

之后,登录阿里云控制台,设置ECS安全组规则,对外开放8888端口访问。(PS:因为我们在上面的安装过程中,把Jenkins的8080端口映射到宿主机服务器上的8888端口了。所以对外开放8888端口的访问,后续浏览器才能正常访问Jenkins页面。)
在这里插入图片描述

之后,打开浏览器访问Jenkins,进入Jenkins配置引导界面。(PS:地址,http://你的ECS服务器外网IP地址:8888。)
在这里插入图片描述

如上图所示,解锁Jenkins,需要管理员密码。

之后,使用docker ps命令,查看你的Jenkins容器ID。

docker ps

在这里插入图片描述

之后,使用docker logs命令,查看管理员密码。

docker logs 你的Jenkins容器ID

在这里插入图片描述

之后,在安装引导页面中,输入上图中管理员密码,点击继续,进入插件安装页面,点击安装推荐的插件;
在这里插入图片描述
之后,进入安装插件进度界面。
在这里插入图片描述
之后,插件安装完成,开始创建管理员用户,输入用户的账号信息,点击保存并完成。
在这里插入图片描述
之后,进入实例配置界面,建议使用默认值,点击保存并完成。
在这里插入图片描述
之后,提示“Jenkins已就绪”,点击开始使用Jenkins。
在这里插入图片描述
至此,Jenkins安装配置完成了,系统自动登录并进入Jenkins控制台主页面。
在这里插入图片描述
至此,Jenkins安装配置完成了。

四、总结

以上介绍了在Linux环境下使用Docker方式如何安装Jenkins。

在Jenkins安装的过程中,出现了插件安装失败的错误。由于需要安装的插件的数量很多,如果手动安装的话,确实很痛苦。所以,这里整理一下插件安装失败错误的解决方案。

错误描述如下
在Jenkins的安装配置引导页面,安装推荐的插件时,出现部分插件安装失败错误。
在这里插入图片描述
另外,当点击继续跳过后。登录Jenkins控制台,在插件管理页面,可用的插件列表中,出现很多红色的警告信息。

Warning: This plugin is built for Jenkins 2.361.4 or newer. Jenkins will refuse to load thisplugin if installed.

在这里插入图片描述

解决方案如下
首先,需要选择合适的Jenkins的镜像版本,建议下载最新的稳定版本。这样的在自动安装插件时,可以避免出现Jenkins版本过低的问题。比如这里选择Jenkins官网发布的 jenkins/jenkins:lts-jdk17版本的docker镜像。

之后,在Jenkins容器启动成功后,及时修改插件的镜像源地址为国内的镜像源地址。这样在安装配置引导页面,自动安装插件时,可以从国内的镜像源中快速的下载插件。比如,这里修改镜像源地址为清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/537493.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

✌2024/4/1—力扣—按摩师✌

代码实现&#xff1a; 思路&#xff1a;打家劫舍题 int massage(int *nums, int numsSize) {if (nums NULL || numsSize 0) {return 0;}if (numsSize 1) {return nums[0];}int dp[numsSize];memset(dp, 0, sizeof(dp));dp[0] nums[0];dp[1] (nums[0] < nums[1] ? nums…

【网络初识】网络相关概念详解

一.局域网VS广域网 局域网 局域网:Local Area Network~简称LAN.指在某一特定区域内由多台计算机组成的互联网组。局域网内的主机之间能方便的进行网络通信&#xff0c;又称为内网.局域网和局域网之间在没有连接的情况下&#xff0c;是无法通信的。局域网的组建方式: 基于网线…

Docker 集成 redis,并在nacos进行配置时需要注意点

安装redis镜像 docker pull redis:6.0.6redis配置文件 创建相关配置文件 mkdir /apps/redis cd /apps/redis touch redis.conf vim redis.confredis.conf内容&#xff1a; #开启保护 protected-mode yes #开启远程连接 bind 0.0.0.0 #自定义密码 port 6379 timeout 0 # 900s内…

网络协议学习——以太网协议

目录 ​编辑 一&#xff0c;以太网简介 二&#xff0c;以太网通信的过程 为什么不用IP地址&#xff1f; 过程 MAC帧 MAC帧的字段介绍 ARP协议 传输过程的一些问题 RARP协议 提高效率 三&#xff0c;其他问题 ARP诈骗问题 URL解析过程 一&#xff0c;以太网简介 …

【优选算法专栏】专题十:哈希表(一)

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

【线段树 有序映射】715. Range 模块

算法可以发掘本质&#xff0c;如&#xff1a; 一&#xff0c;若干师傅和徒弟互有好感&#xff0c;有好感的师徒可以结对学习。师傅和徒弟都只能参加一个对子。如何让对子最多。 二&#xff0c;有无限多1X2和2X1的骨牌&#xff0c;某个棋盘若干格子坏了&#xff0c;如何在没有坏…

谷歌pixel6/7pro等手机WiFi不能上网,显示网络连接受限

近期在项目中遇到一个机型出现的问题,先对项目代码进行排查,发现别的设备都能正常运行,就开始来排查机型的问题,特意写出来方便后续查看,也方便其它开发者来自查。 设备机型:Pixel 6a 设备安卓版本:13 该方法无需root,只需要电脑设备安装adb(即Android Debug Bridge…

计算机网络---第九天

以太网交换机的工作原理 以太网定义&#xff1a; 定义&#xff1a;输出标准Ethernet2类型帧的网络 以太网特征&#xff1a; 特征&#xff1a;多路访问&#xff0c;广播式的网络 mac地址: 每台设备都有一个唯一的物理地址&#xff0c;全球唯一 48位长度&#xff0c;16禁止…

数显IC/点阵数显驱动芯片/抗干扰数显驱动-VK1Q60 QFN16L 8×4点阵

产品品牌&#xff1a;永嘉微电/VINKA 产品型号&#xff1a;VK1Q60 封装形式&#xff1a;QFN16L 概述 VK1Q60是一种带键盘扫描电路接口的 LED 驱动控制专用芯片&#xff0c;内部集成有数据锁存 器、LED 驱动、键盘扫描等电路。SEG脚接LED阳极&#xff0c;GRID脚接LED阴极&…

GPT-4 Turbo with Vision 提高‮写了‬作、数学、逻‮推辑‬理和编码能力

新版 GPT-4 Turbo 今‮开天‬始现‮向已‬所有付费 ChatGPT 用‮开户‬放。GPT-4 Turbo提高‮写了‬作、数学、逻‮推辑‬理和编码能力。具有128k上下文窗口&#xff0c;可以处理超过300页的文本&#xff0c;输出‮度速‬更快。 现‮已在‬经开始‮续陆‬推送&#xff0c;如果…

「seata」分布式事务seata部署及应用

「seata」分布式事务seata部署及应用 seata 版本一、部署seata服务1、配置config.txt文件中的属性值2、为seata服务单独创建一个nacos命名空间3、利用脚本上传配置文件到nacos4、配置seata服务的application.yml6、执行数据库脚本5、使用脚本启动seata服务 二、配置并启动微服务…

品牌发言稿怎么写?媒介盒子分享

品牌发言稿的重要性不言而喻&#xff0c;它不仅代表着品牌形象&#xff0c;更是沟通品牌与消费者、合作伙伴的桥梁。如何撰写一篇高质量的品牌发言稿&#xff0c;成为许多品牌关注的焦点。今天媒介盒子来和大家聊聊&#xff1a;品牌发言稿怎么写。 一、 发言稿写作技巧 1.结构…

MQTT的学习

近期构建物联网平台&#xff0c;学习到MQTT&#xff0c;这里使用的是uniapp作为连接MQTT broker的&#xff0c;这里使用的是国产的EMQX。 MQTT的认识 MQTT 协议入门&#xff1a;基础知识和快速教程 | EMQ&#xff08;简单的认识&#xff09; 创建 MQTT 连接时如何设置参数&am…

UI自动化测试案例

备注:本文为博主原创文章,未经博主允许禁止转载。如有问题,欢迎指正。 个人笔记(整理不易,有帮助,收藏+点赞+评论,爱你们!!!你的支持是我写作的动力) 笔记目录:笔记本~笔记目录_airtest和selenium那个好用-CSDN博客 个人随笔:工作总结随笔_8、以前工作中都接触过哪…

如何应对app应用程序或者网站常见的几种攻击类型

大家好&#xff0c;我是咕噜铁蛋&#xff01;今天&#xff0c;我想和大家聊聊一个我们日常生活中经常遇到的问题——如何应对app或者网站常见的几种攻击类型。随着互联网的普及&#xff0c;app和网站已经成为我们获取信息、交流互动的重要平台。然而&#xff0c;这些平台也时常…

Vue.js组件精讲 第2章 基础:Vue.js组件的三个API:prop、event、slot

如果您已经对 Vue.js 组件的基础用法了如指掌&#xff0c;可以跳过本小节&#xff0c;不过当做复习稍读一下也无妨。 组件的构成 一个再复杂的组件&#xff0c;都是由三部分组成的&#xff1a;prop、event、slot&#xff0c;它们构成了 Vue.js 组件的 API。如果你开发的是一个…

360AI搜索爆火,位居三月全球AI新品增速榜榜首

近日&#xff0c;独立AI产品榜单“AI产品榜&#xff08;aicpb.com&#xff09;”发布最新全球AI新品增速榜单&#xff0c;该榜单数据显示&#xff0c;360AI搜索位居三月新品增速榜榜首&#xff0c;3月访问量环比增加1798.76%。360集团另一款AI产品360苏打办公也同时上榜&#x…

【2024年认证杯】A题详细思路+数据(来源)+成品论文+模型代码(matlab+python)

2024年认证杯A题 解题思路 ⭐⭐第一问题分析第二问题分析第三问题分析 数据与数据来源&#x1f389;&#x1f389;指标解释数据来源 成品参考论文&#x1f60a;&#x1f60a;python/ matlab 代码&#x1f680;&#x1f680; 解题思路 ⭐⭐ 这个题目要求我们围绕人造保暖纤维的…

Excel表格中的10000元变成1万元

程序代码园发文地址&#xff1a;Excel表格中的10000元变成1万元-程序代码园小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,Excel表格中的10000元变成1万元http://www.byqws.com/blog/3149.html?sourcecsdn 今天早上有同事问我&#xff0c;在Excel表格里面怎么…

Vue项目中,使用高级表格vxe-table中的【vxe-grid】动态列之动态插槽

1、首先项目当中得安装了vxe-table // 没有安装的话&#xff0c;可以使用一下命令安装 npm install vxe-table 或 yarn add vxe-table使用示例&#xff1a; import Vue from vue import VXETable from vxe-table import vxe-table/lib/style.cssVue.use(VXETable)2、动态列中动…