小企业网站 优帮云网站的设计与制作

web/2025/9/30 18:52:00/文章来源:
小企业网站 优帮云,网站的设计与制作,景区网站建设方案,wordpress 工作流目录 一、概述 二、持续集成的典型操作流程 2.1 概述 2.2 持续集成的操作流程图 2.3 持续集成关键流程说明 三、构建持续集成流水线的方式 3.1 依托云厂商能力 3.2 采用开源产品 3.3 企业自研 四、构建持续化集成流水线 4.1 基于GitHub的持续集成流水线#xff08;公…目录 一、概述 二、持续集成的典型操作流程 2.1 概述 2.2 持续集成的操作流程图 2.3 持续集成关键流程说明 三、构建持续集成流水线的方式 3.1 依托云厂商能力 3.2 采用开源产品 3.3 企业自研 四、构建持续化集成流水线 4.1 基于GitHub的持续集成流水线公有云方案 4.1.1 概述 4.1.2 GitHub持续集成方案操作流程示意图 4.1.3 GitHub Actions持续集成技术实现原理 4.1.3.1 GitHub Actions工作流程构成关系图 4.1.3.2 GitHub Actions工作流程 4.1.3.2.1 新建Actions 4.1.3.2.2 自定义工作流程 4.1.3.2.3 选择快捷模板 4.1.3.2.4 进入配置页面 4.1.3.3 举例配置Node.js YAML文件 4.1.3.4 总结 4.2 基于Jenkins/GitLab CI的持续集成流水线私有云 4.2.1 概述 4.2.2 Jenkins持续集成方案操作流程示意图 4.2.3 JenkinsGitLab持续集成技术实现原理 4.2.3.1 说明 4.2.3.2 安装GitLab 4.2.3.3 安装Jenkins 4.2.3.4 GitLab配置访问令牌 4.2.3.5 Jenkins配置 一、概述 介绍完了持续集成基本概念和包含的主要系统接下来将从平台建设和技术实现的角度为大家详细讲述其典型流程下的技术细节。 二、持续集成的典型操作流程 2.1 概述 持续集成流程在DevSecOps平台中主要表现为持续集成流水线在实际的平台建设中这一段流程的线上化过程通常是分阶段、分步骤实现的。大多数情况下首先实现的是代码管理到集成测试这一段的线上化然后再通过安全左移逐步完成整个持续集成到持续开发的线上化。 2.2 持续集成的操作流程图 当整个流程完成线上化之后在DevSecOps平台中编排调度系统是持续集成平台能力的核心承担着流程调度、任务管理和面向用户交互的职责。基于日常的研发操作和上文中提及的持续集成流程中涉及的主要系统其典型操作流程如下图所示 2.3 持续集成关键流程说明 其关键流程如下 当开发人员完成开发后提交代码至代码存储仓库。触发源码及版本控制系统事件HOOK发起代码编译构建动作。编译构建系统拉取源代码开始代码编译。依次执行代码编译、制品打包、静态检测。当上述步骤执行通过后通过调度将制品上传至过程制品库。生成的过程制品将被部署在资源及环境管理系统准备好的研测环境上。制品部署完成后进入测试阶段依次完成集成测试、安全测试、回归测试。当测试阶段动作全部完成后将验证后的制品上传可发布制品库供生产环境发布使用。 在整个过程中各个任务在流水线上依次递进直至将代码转化为可交付的制品这就是DevSecOps平台中持续集成流程的核心作用。 三、构建持续集成流水线的方式 当一家企业着手搭建持续集成流水线时通常可以使用如下三种不同的方式去构建此能力 3.1 依托云厂商能力 依托云厂商能力即利用云厂商SaaS化持续集成相关系统或服务构建企业自身的持续集成流水线。 3.2 采用开源产品 采用开源产品即企业通过整合开源的持续集成相关产品构建本地化的持续集成流水线。 3.3 企业自研 企业自研即企业通过独立研发持续集成相关产品构建本地化的持续集成流水线。 上述三种平台能力构建方式中企业自研的方式更适用于大型互联网企业的大规模并发的持续集成场景当然需要的资源投入和实施周期也不一样。考虑本书内容的普及性和实用性这里主要以前两种方式为例向读者介绍持续集成流水线平台能力的搭建。 四、构建持续化集成流水线 4.1 基于GitHub的持续集成流水线公有云方案 4.1.1 概述 基于GitHub的持续集成流水线适合中小型互联网企业或者说使用公有云基础设施及源代码云托管服务的企业。这类企业有一个典型的特点是代码管理托管在云服务上这里主要是指GitHub企业大多数没有自己的数据中心采购云厂商的云主机、云数据库、云存储等作为企业的基础设施如研测环境和生产环境均在公有云上。 4.1.2 GitHub持续集成方案操作流程示意图 GitHub Actions是GitHub平台上的一个功能模块在代码托管的基础上可以承担持续集成流水线的功能用户通过GitHub Actions对软件开发流程的定义自动化地帮助用户完成代码检出、编译构建、代码检测、依赖管理、测试、部署等操作。当基础设施使用公有云时在此持续集成方案的基础上可以快速方便地完成持续部署的自动化。此方案的操作流程概览图如下图所示 从图中可以看出当使用GitHub作为持续集成流水线控制时GitHub Actions担当着总体流程调度的角色当触发工作流程的事件后流程启动开始执行。 4.1.3 GitHub Actions持续集成技术实现原理 4.1.3.1 GitHub Actions工作流程构成关系图 使用GitHub Actions来实现持续集成时工作流程是通过在GitHub上定义的YAML文件来描述的。YAML文件一般存放在.github/workflows目录中一个项目可以定义多个YAML文件一个YAML文件定义一个流程(Workflows)流程由事件(Event)触发作为入口。一个流程包含多个不同的任务(Job)每一个任务由一个或多个步骤(Step)组成每一个步骤可以执行一个或多个操作(Actions)。Workflows-Job-Step-Actions它们组装在一起构成整个工作流程如图所示 配置完成的工作流程可以通过手工操作、GitHub CLI、API接口等方式触发流程启动事件。事情启动后会依次执行每一个任务直至流程结束。如果流程执行失败GitHub Actions也会起到监控和调度的作用。 4.1.3.2 GitHub Actions工作流程 4.1.3.2.1 新建Actions 当用户代码托管在GitHub后可以在项目中的Code标签页直接新建Actions如图所示: 4.1.3.2.2 自定义工作流程 进入页面后单击New workflow的按钮开始定义工作流程。默认情况下当前页面提供了一系列的工作流程模板如推荐的模板列表、持续集成的模板列表、安全检测的模板列表等。同时用户也可以自定义自己的工作流程。 在上图中 ❶所示位置为用户自定义工作流程入口 ❷所示位置为系统推荐的工作流程模板入口。 4.1.3.2.3 选择快捷模板 当然用户还可以选择其他的工作流程的快捷模板如下图所示 4.1.3.2.4 进入配置页面 这里选择GitHub Actions工作流程后则进入YAML文件的配置页面如下图所示 在上图中 ❶所示区域为YAML文件的自定义配置编辑区 ❷所示区域为GitHub根据应用市场的使用情况推荐给用户的操作模板和说明文档。用户参考操作模板和说明文档完成YAML文件的自定义编辑之后修改❸的文件名最后单击❹Start commit按钮提交YAML文件提交后在代码项目“根目录/.github/workflows”下会存在刚才提交的YAML文件。 至此工作流程的定义已完成。当代码仓库发生变化时如果发现“根目录/. github/workflows”下存在yml文件将根据流程触发条件启动流程。 4.1.3.3 举例配置Node.js YAML文件 在整个工作流程中的定义中YAML文件的配置是流程定义关键。下面以一个Node.js项目为例介绍持续集成配置其文件样例如下图所示 在上图中文件主要包含三个部分 ❶表示整个流程的名称 ❷表示流程的触发条件为事件push ❸表示要执行的任务内容。 其中 ❹表示使用代码的主分支master ❺表示任务主要是编译构建与测试 ❻表示编译构建和测试的使用环境为Ubuntu操作系统 ❼表示当前Job任务所包含的步骤 ❽~11均为其操作步骤 ❽表示代码Checkout操作 ❾表示命令行环境下依赖环境的安装、构建和测试操作 10表示对dist目录下的文件排除txt类型之后生成的制品上传 11表示上传自动化测试报告。 这是一个简单的Node.js项目持续集成样例在实际使用中开发语言不同使用场景不同流程的定义往往要复杂得多。但通过这个样例读者能概要性地了解GitHub Actions实现持续集成流程的基本逻辑。 4.1.3.4 总结 对于GitHub Actions的使用GitHub官方文档中有比较详细的描述感兴趣的读者可以详细阅读其案例并动手操作理解不同场景下的持续集成流程的定义和使用。 例如GitHub上Action的代码仓库包含各种流程定义模板感兴趣的读者可以访问地址 GitHub - actions/starter-workflows: Accelerating new GitHub Actions workflows 同时在GitHub的应用市场上也有非常多的使用案例这些案例既包含持续集成能力也包含安全能力如下图所示 既包含GitHub自身功能也包含其他厂商的SaaS化能力如亚马逊AWS、阿里云、RedHat等如下图所示。 这些与GitHub可集成的能力对于使用GitHub实现持续集成流水线的企业来说无疑是极大地缩短了DevSecOps能力构建的周期降低了平台学习和平台使用的成本。 4.2 基于Jenkins/GitLab CI的持续集成流水线私有云 4.2.1 概述 基于Jenkins或GitLab CI去构建企业级持续集成流水线是业界非常普遍的方案这与它们本身的开源、易于操作满足常见持续集成场景下各个任务的调度需求有关同时也与周边生态系统的成熟与版本管理工具、版本控制工具、构建工具等易于集成也有很大的关系。用户通过使用此类方案可以方便、一揽子地解决多个业务操作和系统数据之间的打通与联动。 除了少数大规模、高并发的大型互联网企业需要自己去研发流程调度系统外在使用已有的开源产品或商业产品来构建持续集成能力时Jenkins通常是企业的首选方案。 4.2.2 Jenkins持续集成方案操作流程示意图 Jenkins是基于Java语言的企业级持续集成工具可以持续、自动化、分布式完成持续集成流程中的多个任务如构建、测试、监控等。以Jenkins为流程调度的持续集成流水线其概览图如下图所示 从此方案中可以看到图中编译、打包、镜像构建、上传镜像、删除镜像等操作都是在Jenkins统一调度下完成的Jenkins通过API接口、脚本、应用等调用完成持续集成流程中的关键任务。它与基于GitHub持续集成方案的不同在于此方案中代码托管在本地环境管理工具使用的是Git和GitLabJenkins、Docker仓库、测试环境等也都是企业自己搭建的整个平台具有很好的自主性和可定制性。 4.2.3 JenkinsGitLab持续集成技术实现原理 4.2.3.1 说明 接下来将以JenkinsGitLab相结合的方案介绍持续集成能力的实现。JenkinsGitLab的安装市面上有很多文字资料和视频这里仅做简要地介绍通过简化安装让读者了解其系统构成即可。 4.2.3.2 安装GitLab GitLab是业界使用比较广泛的一款覆盖DevSecOps全流程的软件它分为GitLab CE和GitLab EE两个版本其中GitLab CE为社区的开源版本GitLab EE为企业级版本企业版有一定时间的免费试用期。这里以GitLab CE版本为例讲述GitLab的安装。GitLab安装有多种安装方式常见的有使用已下载安装包安装、在线安装如Linux环境下rpm包安装yum在线安装、Docker安装等。使用yum安装时需要注意的是安装时需要考虑到网络速度的传输。建议选择安装源时首选考虑国内的安装镜像源如清华大学开源软件镜像源、科大镜像源、华为镜像源等如下图所示 本文为了简化GitLab的安装操作方便读者快速使用和了解GitLab使用Docker化安装方式。Docker安装首先要下载GitLab如下命令行所示 待此命令执行完成后即可启动GitLab如下命令行所示 等待一段时间当所有的容器状态正常时即可以通过gitlab.devsecops-demo.com访问GitLab。如果通过域名无法访问读者需要配置IP解析。首次使用时需要配置GitLab管理员密码设置完密码后才可以管理员身份登录GitLab。 相比yum安装Docker的安装与配置要简单得多读者也可以使用其他方式安装来加深对GitLab的理解。另外对于英文不好的读者建议安装时选择中文版即选择镜像gitlab-ce-zh:latest即可其他步骤与英文版一致。 4.2.3.3 安装Jenkins Jenkins是Java语言开发的所以安装之前先查看本机是否已安装JDK如果没有安装则需要首先安装JDK。本文默认JDK已正确安装如果有读者不知道JDK如何安装请查阅相关资料。这里仍以Docker环境为例讲述Jenkins的安装过程。 在Docker命令行模式下执行以下命令 默认情况下使用latest镜像。待此命令执行完成后即可启动GitLab如下命令行所示 等命令行执行完成后即可通过jenkins.devsecops-demo.com访问页面。这里需要读者注意的是GitLab的Docker启动参数与Jenkins的启动参数在端口上要避免冲突并且和GitLab安装一样考虑jenkins.devsecops-demo.com与IP地址的解析。否则也是无法访问的。 首次访问Jenkins需要解锁管理员密码这时只需要进入Jenkins HOME目录查询密码复制输入即可如下图所示 解锁完成后即可登录进系统参考新手入门的指引创建用户、添加插件及执行相关配置。 4.2.3.4 GitLab配置访问令牌 GitLab配置访问令牌并通过令牌与Jenkins之间进行认证和授权。进入GitLab主界面进入一个代码仓库后选择【Setting】→【Access Tokens】填写Token namegitlab-jenkins-user-api-token并勾选【api】后生成令牌信息如下图所示 需要将该令牌信息复制下来并保存至安全的位置后续在Jenkins配置的时候还会使用到该令牌。 4.2.3.5 Jenkins配置 Jenkins主页选择【Manage Jenkins】→【Available】安装Jenkins GitLab Plugin插件如下图所示 选择【Credentials】→【System】→【Global Credentials】→【Add Credentials】填写GitLab用户令牌如下图所示 最后选择【Manage Jenkins】→【Configure System】选择【GitLab】标签填入GitLab相关配置如下图所示 通过以上四个步骤已经完成了GitLab与Jenkins的集成。接下来就可以在Jenkins中创建任务进行构建。 好了本次内容就分享到这欢迎大家关注《DevSecOps》专栏后续会继续输出相关内容文章。如果有帮助到大家欢迎大家点赞关注收藏有疑问也欢迎大家评论留言

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

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

相关文章

江苏鑫圣建设工程有限公司网站营销公司排行

变量命名的规范,对于我们编程,大家都知道是非常重要的,上次给大家推荐过一个命名辅助工具《程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器》,但大家一致反馈存在2个问题:1、网速…

台州网站平面设计做网站哪些方面会侵权

之前使用 html2canvas 和 jsPDF 实现html转pdf,但是客户说不能复制pdf中的文字,要改一下,先说不能复制的方法,再说可以复制的方法 一,html2canvas 和 jsPDF(图片插入pdf不可复制) 创建pdf.js文…

如何快速找到做网站的客户河北石家庄网络公司

目录 1.1 三张报表的作用 1.2 三张报表长的样子 1.2.1 资产负债表 1.2.2 利润表 1.2.3 现金流 1.3 BI指标构建 1.3.1 盈利能力指标构建 1.3.2 营运能力指标构建 1.3.3 偿债能力指标构建 转眼间,一年又悄然而逝,时光荏苒,岁月如梭 &a…

各类大型网站建设变身变装 wordpress

假如按工业交换机的端口号构造来分,工业交换机大概可分成:固定不动端口号工业交换机和模块化设计工业交换机二种不一样的构造。实际上也有一种是二者兼具,那便是在出示基础固定不动端口号的基本以上再配置一定的拓展扩展槽或控制模块。今天&a…

wordpress网站搬迁黄浦做网站

目录 1、简介 2、添加WS配置 3、发送请求 4、处理请求 5、常用模式和用例 6、自定义BodyReadables和BodyWritables 6、独立WS 7、访问AsyncHttpClient 8、配置WS 1、简介 有时我们想从一个play应用程序中调用其他HTTP服务。Play提供了WS库来进行异步HTTP方法调用。 …

上虞网站建设文广网络域名买卖网站

基本的XML Schema的使用就是这样,下面我们要介绍XML Schema的另外一个核心的部分也是Schema最关键的一个部分,就是关于Schema的名字空间(namespace)的问题。在上面关于XML Schema的介绍中,为了把读者集中到对XML Schema的语法理解上&#xff…

网站与网页的区别最新网站架构

小编杂谈新能源已经完成了至少5期的博文了,Boss告诉小编,如果还不介绍我们的产品和方案,黄花菜都凉了,所以小编这期博文就重点介绍一下Microchip在储能上的产品介绍,重点聊聊Microchip储能中使用的光伏逆变器的解决方案…

国外创意海报设计网站seo 网站标题长度

struts2 1-1:为什么每次请求都要创建一个Action对象? 是出于对线程安全的考虑,每个request都不会相互影响 1-2:ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题? 先把旧的model对象从ValueStack…

缅甸网站后缀公司刚做网站在那里找图片做

我们经常在实际开发中会用到一些转换类,比如在金融界中,我们需要将1转换为“壹”,2转换成“贰”。还有类似这样的需求,食堂在一周内每天的菜单都是不一样的,周一为鱼香肉丝鸡腿,周二为爆炒土豆丝鲅鱼&#…

深圳定制网站制作报价北京网站建设推荐华网天下

C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos。 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int fseek(FILE *fp, long offset, int fromw…

临沂制作手机网站怎样下载广安同城app

本文主要介绍如何在 GitHub Codespaces 这个云上 IDE 环境中安装 .NET 7背景GitHub 的 Codespaces 可以让我们随时随地编写代码,一些简单的修改也非常方便快捷。特别是 .NET 7 发布后,一些可以直接升级的小项目只需要更改配置就可以了,我们可…

大连网站推广工具杭州二建建设有限公司网站

​​题目来源: leetcode题目,网址:面试题 01.04. 回文排列 - 力扣(LeetCode) 解题思路: 对字符串中各字符计数,若个数为奇数的字符个数大于 1,则不是回文排列,否则是。 …

怎样通过网址浏览自己做的网站网站支付页面怎么做的

在 Java Web 应用中,高并发环境会带来一系列的挑战,这些挑战可能会影响应用的性能、稳定性和可用性。下面是一些常见的问题以及相应的解决方案: 1. 线程资源竞争 问题: 当多个线程尝试同时访问同一资源时,可能会导致竞争条件,进而影响数据的完整性。 解决方案: 使用同步…

经营网站挣钱深圳企业网查询

您可于2024年6月10日至14日前往美因河畔法兰克福11.0号馆,Softing将在C25展位展出,欢迎莅临! 作为工业应用中数据交换领域公认的专家,Softing工业致力于帮助各行各业的客户部署网络自动化和优化生产流程。 使用Softing产品&…

【转】网页 网站 html如何实现"关闭窗口"代码大全设计工作室取什么名字好

0x01 产品简介 金蝶 Apusic 应用服务器(Apusic Application Server,AAS)是一款标准、安全、高效、集成并具丰富功能的企业级应用服务器软件,全面支持 JakartaEE 8/9的技术规范,提供满足该规范的 Web 容器、 EJB 容器以及 WebService 容器等,支持 Websocket 1.1、Servlet…

卖产品怎么做网站用什么软件制作网站

对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。那么,有什么办法可以避免在代码中写大量的判空语句呢?有人说可以使用 JDK8提供的 Optional …

考试类网站如何做中国质量建设协会网站

如果您是一位 C/C 开发人员,那么您一定知道在编写和维护大型项目时所面临的挑战。这些项目通常包含大量的源代码、库和依赖项,需要耗费大量的时间和精力才能构建和维护。在这种情况下,使用自动化工具可以大大减轻您的负担,提高项目…

网站开发的英文书有什么如何开一个自己的网站

文章目录题目描述思路 & 代码更新版题目描述 原地操作 & 减少操作次数:不能直接只拷非零数,也不要每次都一个个推动整个数组 思路 & 代码 维护一个noZeroNums,代表当前循环遇到的非0数的数量第一趟先不管0的数量,…

金融课程网站模板下载厦门网站到首页排名

zoo是时间序列的基础库,是面向通用的设计。 xts 是对时间序列库(zoo) 的一种扩展实现。xts 类型继承了zoo 类型,丰富了时间序列数据处理的函数。 一、xts对象的结构和定义 1、xts对象是一个具有时间索引的观测值矩阵,结构如下: xts matrix …

青岛seo网站建设公司工商管理网站

Kali环境下安装python3 参考: 由于kali环境下是自动安装了python 2.7,没有python3以上的版本,现在开始安装python 1. 先下载python3的tar包 进入这个目录: cd /usr/local/ 创建一个新文件夹python3: mkdir /usr/loc…