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

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台

Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)软件项目。它允许开发人员在软件开发过程中自动化各种任务,如构建、测试和部署,从而提高开发效率和软件质量

搭建Jenkins CI/CD平台

1、购买华为云 Flexus X 实例

Flexus云服务器X实例-华为云 (huaweicloud.com)

2、安装docker,并检查安装版本(此处我已安装不做演示)

在这里插入图片描述

3、JDK安装(Jenkins基于Java编写)提前去官网下载JDK选择合适的Linux版本如:openjdk-14.0.2_linux-x64_bin.tar.gz,将jdk传入服务器中通过xftp,放入路径/usr/local/java

mkdir /usr/local/java

在这里插入图片描述

  • 将jdk传入服务器中通过xftp,放入路径/usr/local/java

在这里插入图片描述

4、解压软件包

tar -zxvf openjdk-14.0.2_linux-x64_bin.tar.gz

在这里插入图片描述

5、配置jdk环境变量

export JAVA_HOME=/usr/local/java/jdk-14.0.2
export PATH=$JAVA_HOME/bin:$PATH

在这里插入图片描述

  • 更新环境变量使其生效
source /etc/profile

在这里插入图片描述

6、查看是否安装成功Java环境

在这里插入图片描述

7、Maven官网下载Maven并且进行Maven配置,首先创建文件夹/usr/local/maven,将Maven传入服务器中通过xftp,放入路径/usr/local/maven

mkdir -p /usr/local/maven

在这里插入图片描述

在这里插入图片描述

8、解压软件包

tar -zxvf apache-maven-3.9.9-bin.tar.gz

在这里插入图片描述

9、创建repository仓库存放jar包

mkdir repository

在这里插入图片描述

10、配置Maven仓库,配置镜像地址

<mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror><id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror>--><mirror><id>maven-default-http-blocker</id><mirrorOf>external:http:*</mirrorOf><name>Pseudo repository to mirror external repositories initially using HTTP.</name><url>http://0.0.0.0/</url><blocked>true</blocked></mirror><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>https://maven.aliyun.com/repository/public</url></mirror></mirrors>

在这里插入图片描述

在这里插入图片描述

  • 环境变量配置
vim /etc/profile
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.9
export PATH=$PATH:$MAVEN_HOME/bin

在这里插入图片描述

  • 查看是否成功
source /etc/profile
mvn -v

在这里插入图片描述

11、部署Jenkins

  • 编写 Docker Compose 配置文件在 /jenkins目录下创建一个 docker-compose.yaml 文件,使用以下命令打开编辑器
version: "2.29.1"                 
services:  myjenkins:  image: jenkins/jenkins        container_name: myjenkins     ports:  - "1020:8080"               - "1021:50000"              volumes:  - /jenkins/data/:/var/jenkins_home/                     - /usr/local/java/jdk-14.0.2:/usr/local/java           - /usr/local/maven/apache-maven-3.9.9:/usr/local/maven  environment:  - JAVA_OPTS=-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai'   restart: always

在这里插入图片描述

  • 启动 Jenkins 服务(必须在编写docker-compose.yaml 文件路径下执行启动 Jenkins 服务命令)
 docker-compose up -d

在这里插入图片描述

在这里插入图片描述

  • 如果出现Segmentation fault,则说明Docker Compose文件有问题需要删除重新安装
[root@flexusx-3202 ~]# docker-compose --version
Segmentation fault

按照命令(国内镜像源)

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

给定权限

chmod +x /usr/local/bin/docker-compose

12、查看是否运行

docker ps

在这里插入图片描述

13、华为云端口放行1020和1021

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

14、浏览器访问公网IP:1020

在这里插入图片描述

  • 如果出现浏览器无法访问的问题,可查看日志,并根据日志修改
docker logs myjenkins

在这里插入图片描述

15、查看Jenkins 管理员密码

cat /jenkins/data/secrets/initialAdminPassword

在这里插入图片描述

16、输入密码登录即可

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

17、搭建完成

在这里插入图片描述

总结

在这里插入图片描述

华为云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台,可以执行一系列自动化操作,显著提升软件开发的效率和质量,实现持续集成、持续部署、自动化流程管理等,个人自主搭建不仅仅提升个人能力,更加能够扩展知识面,如果有小伙伴想搭建可以购买华为云服务器Flexus X实例,此刻服务器正在大促,优惠力度非常大!

华为云828 Flexus X实例

相关文章:

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台

828华为云征文 | 云服务器Flexus X实例&#xff0c;Docker集成搭建Jenkins CI/CD平台 Jenkins 是一个开源的自动化服务器&#xff0c;用于持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;软件项目。它允许开发人员在软件开发过程中自动化各种任务&…...

今日 leetCode 15.三数之和

15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元…...

Games101笔记-二维Transform变换(二)

1、什么是Transform Transform就是通过一个矩阵&#xff0c;进行缩放、旋转、平移等变换 2、缩放、旋转、切变、平移等基础变换 缩放变换&#xff1a; 反射变换&#xff1a; 切变&#xff1a; 绕原点旋转&#xff1a; 以上都是线性变换&#xff1a; 平移变换&#xf…...

【洛谷】AT_abc371_c [ABC371C] Make Isomorphic 的题解

【洛谷】AT_abc371_c [ABC371C] Make Isomorphic 的题解 洛谷传送门 AT传送门 题解 抽象题目&#xff0c;抽象翻译&#xff0c;可能是我太菜了&#xff0c;根本没看懂题目&#xff0c;后面是听大佬讲题才发现&#xff0c;这不就是一题全排列暴力题吗。谔谔&#xff0c;真的…...

全国职业院校技能大赛(大数据赛项)-平台搭建Spark、Scala笔记

Spark作为一个开源的分布式计算框架拥有高效的数据处理能力、丰富的生态系统、多语言支持以及广泛的行业应用。Scala是一种静态类型的编程语言&#xff0c;它结合了面向对象编程和函数式编程的特性&#xff0c;被誉为通用的“大数据语言”。而二者的结合更能迸发出新奇的化学反…...

【Java】JVM基本组成

一、JDK、JRE、JVM JDK&#xff1a;全称 “Java Development Kit” Java 开发工具包&#xff0c;提供 javac编译器、jheap、jconsole 等监控工具; JRE&#xff1a;全称 “Java Runtime Environment” Java 运行环境&#xff0c;提供 class Library 核心类库JVM; …...

解决【WVP服务+ZLMediaKit媒体服务】加入海康摄像头后,能发现设备,播放/点播失败,提示推流超时!

环境介绍 每人搭建的环境不一样&#xff0c;情况不一样&#xff0c;但是原因都是下面几种&#xff1a; wvp配置不当网络端口未放开网络不通 我搭建的环境&#xff1a; WVP服务&#xff1a;windows下&#xff0c;用idea运行的源码 ZLM服务&#xff1a;虚拟机里 问题描述 1.…...

淘宝商品详情接口item_get响应参数解析:props、props_list、prop_img

在电商数据分析和应用开发中&#xff0c;淘宝商品详情接口item_get是一个至关重要的工具。通过该接口&#xff0c;开发者可以高效地获取淘宝平台商品的详细信息&#xff0c;从而优化商品展示、搜索、推荐等功能&#xff0c;提升用户体验和转化率。本文将详细解析item_get接口的…...

Android使用OpenCV 4.5.0实现扑克牌识别(源码分享)

一、显示效果展示 二、OpenCV 4.5.0 OpenCV 4.5.0是OpenCV&#xff08;Open Source Computer Vision Library&#xff0c;开源计算机视觉库&#xff09;的一个重要更新版本&#xff0c;该版本在多个方面进行了优化和新增了多项功能。 三、ONNX模型 ONNX&#xff08;Open Neu…...

Pandas_iloc_loc_哪个是inclusive哪个是exclusive

iloc 和 loc 包括不包括结尾写的那个行&#xff08;列&#xff09;&#xff1f; 不一样&#xff01; iloc[istart:iend] exclusive on iend 不包括结尾那行&#xff08;列&#xff09;&#xff01; loc[start:end] inclusive on end 包括结尾那行&#xff08;列&#xff09;&am…...

python是什么语言写的

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言。现今Python语言很火&#xff0c;可有人提问&#xff0c;这么火的语言它的底层又是什么语言编写的呢&#xff1f; python是C语言编写的&#xff0c;它有很多包也是用C语言写的。 所以说&#xff0c;C语言还是很…...

python编程,把所有子目录和文件输出到文本文件

要将所有子目录和文件输出到文本文件&#xff0c;你可以使用Python的os模块来遍历目录结构&#xff0c;并将结果写入文件。以下是一个简单的Python脚本示例&#xff0c;它会递归地遍历指定目录&#xff0c;并将每个子目录和文件的相对路径写入到一个文本文件中&#xff1a; im…...

使用 IntelliJ IDEA 连接到达梦数据库(DM)

前言 达梦数据库是一款国产的关系型数据库管理系统&#xff0c;因其高性能和稳定性而被广泛应用于政府、金融等多个领域。本文将详细介绍如何在 IntelliJ IDEA 中配置并连接到达梦数据库。 准备工作 获取达梦JDBC驱动&#xff1a; 访问达梦在线服务平台网站或通过其他官方渠道…...

【Python报错已解决】AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

Java中的事件(动作监听-ActionListener)

&#xff08;一&#xff09;、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件&#xff0c;例如&#xff1a;按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法&#xff0c;该方法会在动作发生时被调用。 &#…...

STM32篇:开发环境安装

编程语言&#xff1a;C语言 需要安装的软件有两个&#xff1a;Keil5 和 STM32CubeMX 一.Keil5 的安装 使用 Keil4 写 STM32 代码其实也是可以&#xff0c;但需要很复杂的配置&#xff0c;不建议新手操作。 比较推荐 Keil5 编写 STM32 &#xff0c;只需要一些简单的设置就可…...

AIGC实战——多模态模型Flamingo

AIGC实战——多模态模型Flamingo 0. 前言1. Flamingo 架构2. 视觉编码器3. Perceiver 重采样器4. 语言模型5. FIamingo 应用小结系列链接0. 前言 我们已经学习了文本生成图像模型 DALL.E 2,在本节中,我们将探索另一种多模态模型 Flamingo,它可以根据给定文本和视觉数据流生…...

如何在WordPress中添加事件Schema(分步指南)

如果你正在举办一个在线活动&#xff0c;那么你可能正在寻找通过网络宣传的方法。此时&#xff0c;模式标记可以帮助你在搜索引擎结果中提高活动的可见性。 活动模式将帮助谷歌和其他搜索引擎更好地理解你的活动详情&#xff0c;使它们能够在活动列表、丰富摘要和谷歌知识面板…...

守护企业资产安全:企业微信群禁止互加好友操作指南!

为了防止其他公司的人员混入发起私聊&#xff0c;导致客户资源流失&#xff0c;禁止互加好友十分重要。而软件自带群防骚扰功能&#xff0c;设置好相关规则后&#xff0c;群内成员触发规则会被踢出群聊。 进入工作台-点击更多-选择客户群-选择防骚扰-选择配制企业成员防骚扰规…...

【QT基础】创建项目项目代码解释

目录 前言一&#xff0c;使⽤Qt Creator 新建项目1. 新建项目2. 选择项⽬模板3. 选择项⽬路径4. 选择构建系统5. 填写类信息设置界⾯6. 选择语⾔和翻译⽂件7. 选择Qt套件8. 选择版本控制系统9. 最终效果 二&#xff0c;项目代码说明1. main.cpp文件2. Widget.h文件3. Widget.cp…...

【数据结构】对象的比较

Java数据类型分为基本数据类型和引用类型&#xff0c;基本数据类型可以直接比较大小&#xff0c;对于引用类型的变量不能直接比较。下面来讲解Java对象的比较。 目录 equals比较 Comparble接口类的比较 基于比较器比较 equals比较 equals是Object类中的方法&#xff0c;只能…...

代码随想录八股训练营第四十天| C++

目录 一、什么是菱形继承&#xff1f; 1.1.菱形继承的示例: 1.2.菱形继承的问题&#xff1a; 1.3.解决菱形继承问题&#xff1a; 二、C中的多线程同步机制&#xff1f; 2.1.互斥锁&#xff08;Mutex&#xff09;: 2.2.递归互斥锁&#xff08;Recursive Mutex&#xff09…...

【C++】10道经典面试题带你玩转二叉树

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Leetcode/牛客网 目录 一.根据二叉树创建字符串 二.二叉树的层序遍历 三.二叉树的层序遍历 II 四.二叉树的最近公共祖先 五.二叉搜索树与双向链表 六.从前序与中序遍历序列构造二叉树 七.从中序与后序遍历…...

【裸机装机系列】13.kali(ubuntu)-优化-自定义grub启动界面个性化背景

推荐阅读&#xff1a; 1.kali(ubuntu)-为什么弃用ubuntu&#xff0c;而选择基于debian的kali操作系统 当裸机安装了linux之后&#xff0c;开机的时候总会让人误会是黑客&#xff0c;还是优化一下开机界面吧&#xff0c;毕竟是日常开发使用。 注&#xff1a;修改有grub启动项有…...

数组高阶应用(C++版)

在C中&#xff0c;普通的数组&#xff08;C-style array&#xff09;、std::initializer_list 、 std::array和std::vector 是四种不同的容器类型&#xff0c;它们各自有不同的特性和用途。下面是对它们进行详细比较和解释。 1. 普通数组&#xff08;C-style Array&#xff09…...

Spring(四)多线程+异步任务执行服务+常见的Enable注解+SpringUnit测试

Spring多线程 Spring通过任务执行器&#xff08;TaskExecutor&#xff09;来实现多线程和并发编程ThreadPoolTaskExecutor实现一个基于线程池的TaskExecutor配置类中EnableAsync开启对异步任务的支持使用Async声明该任务为异步 ①、配置类 Configuration ComponentScan(&quo…...

解析与实现二叉树

在数据结构与算法的学习中&#xff0c;二叉树无疑是一个重要且实用的数据结构。它不仅在理论上具有深刻的研究价值&#xff0c;更在实际应用中广泛存在&#xff0c;如搜索引擎的索引结构、文件系统的目录树、数据库的索引、游戏开发中的场景管理等等。本文将深入探讨二叉树的基…...

Java面向对象——内部类(成员内部类、静态内部类、局部内部类、匿名内部类,完整详解附有代码+案例)

文章目录 内部类17.1概述17.2成员内部类17.2.1 获取成员内部类对象17.2.2 成员内部类内存图 17.3静态内部类17.4局部内部类17.5匿名内部类17.5.1概述 内部类 17.1概述 写在一个类里面的类叫内部类,即 在一个类的里面再定义一个类。 如&#xff0c;A类的里面的定义B类&#x…...

操作系统笔记三

进程 把一个静态程序通过OS在内存中让cpu执行起来的动态执行过程叫进程 写代码都是用户态&#xff0c;而进程在执行过程中需要完成特定的功能&#xff0c;这些功能呢只有操作系统能提供&#xff0c;比如说读写文件&#xff0c;读写文件的过程是与硬盘打交道&#xff0c;这个过程…...

uniapp快速入门教程,内容来源于官方文档,仅仅记录快速入门需要了解到的知识点

uniapp快速入门教程&#xff0c;内容来源于官方文档&#xff0c;仅仅记录快速入门需要了解到的知识点 目录 介绍uniapp 介绍uniapp x 介绍功能框架图创建项目&发布组件/标签的变化js的变化css的变化工程结构和页面管理 pages.jsonmanifest.json 应用配置组件easycom组件规…...