linux系统从零开始搭建CICD jenkins环境

news2024/12/22 22:35:03

1、操作系统与环境

本文教你从零开始搭建jenkins环境,开始你的CICD之旅。

1.1 系统与安装环境

本文的环境为云服务器环境,系统为linux Red-hat系统。版本信息如下:

Linux version 3.10.0-1160.88.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP

如果是linux其它系统,也可以参考。
如果你不知道你环境的版本信息,可以使用如下命令查看:

cat /proc/verison

1.2 确认是否已经安装jenkins

jenkins --versino # 查看jenkins的版本

如果环境上已经安装了jenkins,那么可以看到已经安装的jenkins版本。如果显示命令不存在,那么说明没有安装。

2、安装JDK

因为jenkins需要依赖jdk环境,因此需要首先在环境上安装jdk。

2.1 首先检查一下服务器上是否有安装jdk。

java -version # 检查是否安装jdk

如果安装了jdk,会显示java的版本信息。如果提示java命令不存在的话,那就表示没有安装。可以按照下面的步骤安装。

2.2 查看环境可以安装的java版本

yum -y list java*   # 查看可用的java版本

在这里插入图片描述

2.3 选择需要的java版本安装。

我这里选择的是java-1.8.0-openjdk-src.x86_64。因为jenkins版本需要和java的版本匹配。如果java的版本过高,可能jenkins不会支持,因此不建议选择过高的版本。

 yun install -y java-1.8.0-openjdk-src.x86_64

2.4 查看安装是否成功

如果安装成功,输入下面的命令可以看到安装的版本。如下图
在这里插入图片描述

3、下载并安装jenkins软件

3.1 下载jenkins软件

我是先通过windows电脑下载jenkins软件,然后通过ssh连接将软件上传到linux服务器进行安装。
先去jenkins官网下载jenkins软件,如下图所示:
选择红色框centos系统对应的软件
在这里插入图片描述
然后选择具体的版本下载,我这里选择的是2.345版本。
如果java版本也是1.8.0的话,这里建议选择2.345或以下的版本,否则可能与java的版本不会匹配。
在这里插入图片描述

3.2 安装jenkins

将下载好的jenkins上传到linux服务器。存放的路径没有特别讲究,比如的就是存在在opt2/download目录下面。
执行下面的解压并安装jenkins(jenkins版本需要根据自己下载的版本)

rpm -ivh jenkins-2.345-1.1.noarch.rpm

安装很快就能完成。
在这里插入图片描述
如果安装成功,输入:jenkins --version,可以看到jenkins的版本信息。

WARNING: You are running Jenkins on Java 1.8, support for which will end on or after September 1, 2022. Please refer to the documentation for details on upgrading to Java 11: https://www.jenkins.io/redirect/upgrading-jenkins-java-version-8-to-11
2.345

4、修改jenkins配置文件

通过下面命令编辑配置文件:

vim /etc/init.d/jenkins

4.1 更新java路径

将java的安装路径更新到下面的列表。
(一般来说,默认的安装路径为/usr/bin/java,已经包含,不需要更新)
在这里插入图片描述
如果不确定java的路径,可以输入下面的命令查看

which java

4.2 更新用户和端口号

通过下面的命令编译配置文件,修改用户和端口号

vim /etc/sysconfig/jenkins

用户默认为jenkins,为了后续方便,修改为root
在这里插入图片描述
端口号默认为8080,可以根据需要修改为其它端口号(不修改也行)
在这里插入图片描述
仅仅修改上面的文件可能没有用,还需要修改下面的文件:

vim /usr/lib/systemd/system/jenkins.service

在这里插入图片描述
修改完之后,重新加载一下配置文件:

systemctl daemon-reload # 重新加载一下配置文件

特别注意:端口号一定要是云服务器开放的端口号。如果查看以及设置腾讯云服务器开发端口号方法见附录1

5 启动jenkins服务器

5.1 启动jenkins服务

可以通过下面的三个命令来启动/关闭jenkins,并查看jenkins运行状态

systemctl start jenkins # 启动jenkins服务
# 然后开启另外一个窗口,查看jenkins状态
systemctl status jenkins # 查看jenkins状态
systemctl stop jenkins # 关闭jenkins服务

5.2 初次启动jenkins

如果是刚安装好jenkins软件,初次启动,需要参考下面操作。

初次启动jenkins之后,可以另外开启一个窗口,通过如下命令查看jenkins的状态
一般来说,如果是首次启动,查看状态时,会提示如下类似信息:

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
52b645e6561740d9a084900904cb49c4

如下图所示,启动之后还可以看到运行的端口号,初次运行时还会提示初次启动的密码:
在这里插入图片描述
这时,我们只需要在网页,输入:ip:端口号 完成初次启动
然后将命令行中提示的密码复制到网页输入框就可以了。
在这里插入图片描述
然后就进入插件安装界面,如果是新手,选择安装推荐的插件即可。
在这里插入图片描述
完成上面的操作之后,再次查看jenkins的运行状态,可以看到如下:
jenkins已经是激活running状态了,说明jenkins运行起来了~
在这里插入图片描述

到此为止,jenkins环境搭建完成,后续就可以根据需要安装其他软件,并开启cicd之旅了~

附录1 查看以及设置腾讯云服务器开发端口号

首先,登录腾讯云网站,找到自己购买的服务器,然后在防火墙中就可以看到开放的端口列表,如下:
在这里插入图片描述
如果要开放新的端口,点击添加规则,比如我添加一个8888端口开放给jenkins使用
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java的旅游网站的设计与实现(论文+源码)_kaic

摘 要 旅游业走过了改革开放,到现在依旧蓬勃发展。但是放眼国际社会,我们在旅游业发展的深度和广度上所做的努力还远远不够。在中国,旅游业也将成为经济崛起中的重要一环。目前,我们生活在一个信息时代里。无论是工作,…

chatgpt赋能python:Python:一种强大的编程语言

Python:一种强大的编程语言 介绍 Python是一种高级编程语言,旨在提高开发者的生产力和代码可读性。它是一种动态语言,使编写代码变得更加简单和容易。许多大型组织和企业都使用Python作为主要的编程语言,包括微软、Facebook、Go…

Java开发SDK详解

一、服务端开发 1、前言 1)最近在对接外部平台的接口,对方提供了一个sdk,开发中直接引入到项目中。自己只需要组装参数,直接调用sdk中的方法就可以实现接口对接。 2)sdk中包含了参数校验,加密验签&#x…

react项目+antd组件-demo:hello-world

在前端开发过程中,有涉及到使用antd组件部分。在项目中加一个antd,调整组件的大小、位置、颜色,花费时间比较多,效率不高,可以通过本文叙述的方式建立一个前端demo,用于调整组件的大小、位置、颜色,验证组件…

C语言_结构体

文章目录 一、结构体结构的基础知识 二、结构体类型的声明三. 结构体初始化四.结构成员的类型五.结构体变量的定义和初始化六.结构体成员访问6.1结构体变量访问成员6.2结构体指针访问指向变量的成员(箭头操作符 ->) 七.结构体传参总结 一、结构体 结…

MySQL 事务简介

事务简介 事务的起源 狗哥和猫爷是⼀对好基友,他们都到银⾏开⼀个账户,他们在现实世界中拥有的资产就会体现在数据库世界的account表中。⽐如现在狗哥有11元,猫爷只有2元,那么现实中的这个情况映射到数据库的account表就是这样&…

机器学习常识 11: logistic 回归

摘要: logistic 回归是使用超平面将空间分开, 一边是正样本, 另一边是负样本. 因此, 它是一个线性分类器. 1. 线性分类器 如图 1 所示, 若干样本由两个特征描述, 对应于二维平面上的点. 它们为正样本或负样本, 由不同颜色表示. 现在需要使用一条直线将正、负样本分开. 这样, …

比ureport好用的报表工具-VeryReport报表工具

作为一名报表开发人员,你一定知道,一个好用的报表工具是多么重要。它可以让你更快、更准确地完成报表开发任务,并且帮助你更好地展现数据。今天我想向大家介绍一款非常优秀的报表工具——VeryReport报表工具。 编辑搜图 请点击输入图片描述&…

STM32 启动文件选择

1. STM32F1xx 系列 (F1) STM32F100xB/C: startup_stm32f100xb.s STM32F100xD/E: startup_stm32f100xe.s STM32F101x6/8/B: startup_stm32f101x6.s, startup_stm32f101x8.s, startup_stm32f101xb.s STM32F101xE/F/G: startup_stm32f101xe.s, …

线程安全与互斥锁(访问控制)

线程安全问题 因为多个线程是共享地址空间的,也就是很多资源都是共享的。 优点:通信方便缺点:缺乏访问控制 因为一个线程的操作问题,给其他线程造成了不可控,或者引起崩溃,异常,逻辑不正确等这种现象:线程安全。 创…

基于Java实现农产品交易平台的设计与实现_kaic

【摘要】农业是我国国民经济的重要组成部分,随着信息化的普及,4G网络、光纤以及5G网络也日益完善,农业信息化的发展成为了必然。同时,由于本年疫情原因,导致农作物积压销售,甚至腐烂造成不必要的浪费&#…

chatgpt赋能python:Python信息抽取——帮您更好地利用数据

Python信息抽取——帮您更好地利用数据 什么是Python信息抽取? Python信息抽取是指利用Python编写程序,从大量的非结构化数据中提取有用的信息的技术。这些数据可以是网页、文本文件、PDF等各种格式,而Python信息抽取则可以帮助您快速、准确…

分享一个case when then when then end的sql语句编写用法

目录 写作背景我和若依的前一部分相同思路我的后续解决思路(不建议)若依后续解决思路(建议)若依后续解决思路举例 写作背景 平时我用case when then else end的机会也不多,之前用它来做对select结果进行计算&#xff…

chatgpt赋能python:Python代码20行,助力千万SEO从业者快速实现网站分析

Python代码20行,助力千万SEO从业者快速实现网站分析 SEO是现代数字营销的核心战略之一。对于千万从业者而言,网站分析是SEO实践的重要一环。而Python作为一门高效、简洁的编程语言,其丰富的第三方库和易学易用的语法使其成为网站分析的强大工…

【MySQL】从0到1打开数据库管理

目录 前言: 一.认识MySQL 二.安装MySQL数据库 三、启动和停止MySQL服务 3.1启动服务的两种方式 3.2停止服务的两种方式 四.链接客户端 4.1使用自带的命令行窗口 4.2使用系统自带的命令窗口 五.MySQL是存储数据的模型 六.SQL语言 结尾: 前言&a…

设计二:51单片机外部中断控制

目录 一、设计内容 二、中断相关知识 1、51单片机中断源 2、中断系统特殊功能寄存器 3、中断函数与函数调用区别 三、仿真原理图 四、程序设计 五、仿真结果 六、思考题 作者有话说 一、设计内容 本次设计使用2个按键,在无按键按下时,最下面一…

chatgpt赋能python:Python代码50行:如何使用Python进行SEO分析

Python代码50行:如何使用Python进行SEO分析 随着互联网的发展,Search Engine Optimization(SEO)已经成为企业网络营销策略中至关重要的一环。而Python作为一种全能的编程语言,已经逐渐成为许多SEO工程师的首选工具。本…

chatgpt赋能python:Python修改List的教程

Python修改List的教程 当涉及到Python编程时,对于处理和管理数据,List是一个非常常见和有用的数据结构。像大多数数据结构一样,有时需要对List进行修改,以便更好地满足程序的需求。因此,本文将向您展示如何使用Python…

数据结构与算法09:二叉树

目录 【树】 【二叉树】 二叉树的遍历 Go代码实现 二叉树的复杂度分析 【二叉搜索树】 Go代码实现 【每日一练:移除元素】 【树】 什么是树?这个不用解释了吧,马路两边种的都是树。数据结构里面的“树”和现实生活中的树类似&#…

chatgpt赋能python:Python会动的图形:如何让你的网站活力四射

Python会动的图形:如何让你的网站活力四射 如果你想让你的网站更具生命力、吸引力和互动性,一种非常有效的方式是使用动态图形。而Python有许多强大的库可以帮助你实现这一目标。在本篇文章中,我们将讨论Python会动的图形的好处、如何实现和…