当前位置: 首页 > 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…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...