草庐IT

LED流水灯

全部标签

了解CI/CD流水线

自动化流水线在CI/CD(持续集成/持续交付或持续部署)的实践中发挥着核心作用。本文将对什么是CI/CD流水线、如何构建CI/CD流水线进行讨论。*持续集成:ContinuousIntegration*持续交付:ContinuousDelivery*持续部署:ContinuousDeployment 01.什么是CI/CD流水线?CI/CD通过频繁对更新的代码进行检查与严格测试并及时处理反馈,从而在保证软件质量的前提下缩短交付所需时间。一般来说,可以通过不同的工具实现分阶段的CI/CD,从而实现整体的工作流,但该流程极易被不可避免的人工干预打断。因此,建立CI/CD流水线是很有必要的。CI/C

如何搭建自己的CICD流水线,实现自动编译部署功能?

之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便。如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云云效DevOps,阿里云效Flow流水线,阿里云效Codeup代码管理。项目是前后端分离,前端使用Vue,后端是SpringBoot单体。在Codeup中分别有前、后端代码仓库。流水线大致原理:云效后台创建虚拟机从代码仓库拉取源码,并构建制品(如拉取前端代码npmrunbuild选取dist文件打包成制品;拉取后端SpringBoot项目代码,使用Maven编译成jar包打包成制品),将制品上传到我们的主机并执行事先编写

如何搭建自己的CICD流水线,实现自动编译部署功能?

之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便。如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云云效DevOps,阿里云效Flow流水线,阿里云效Codeup代码管理。项目是前后端分离,前端使用Vue,后端是SpringBoot单体。在Codeup中分别有前、后端代码仓库。流水线大致原理:云效后台创建虚拟机从代码仓库拉取源码,并构建制品(如拉取前端代码npmrunbuild选取dist文件打包成制品;拉取后端SpringBoot项目代码,使用Maven编译成jar包打包成制品),将制品上传到我们的主机并执行事先编写

Jenkins+Pipeline流水线项目(1)

说明Jenkinspipeline是一套插件,支持将连续输送管道实施和整合到Jenkins。Pipeline提供了一组可扩展的工具,用于通过管道DSL为代码创建简单到复杂的传送流水线。他目前支持jenkins2.x以上版本。pipeline是由groovy语言编写1.安装jenkins可以查看:https://www.cnblogs.com/jxxiaocao/p/16191140.html设置仓库和jenkins的关联(因为我使用的是gitee所以就介绍gitee,其他的都差不多)gitee和jenkins关联:https://www.cnblogs.com/jxxiaocao/p/1266

Jenkins+Pipeline流水线项目(1)

说明Jenkinspipeline是一套插件,支持将连续输送管道实施和整合到Jenkins。Pipeline提供了一组可扩展的工具,用于通过管道DSL为代码创建简单到复杂的传送流水线。他目前支持jenkins2.x以上版本。pipeline是由groovy语言编写1.安装jenkins可以查看:https://www.cnblogs.com/jxxiaocao/p/16191140.html设置仓库和jenkins的关联(因为我使用的是gitee所以就介绍gitee,其他的都差不多)gitee和jenkins关联:https://www.cnblogs.com/jxxiaocao/p/1266

Plus版SBOM:流水线物料清单PBOM

相信大家对软件物料清单(SBOM)并不陌生,它是指用于构建软件解决方案的所有软件组件(开源或商业)的列表。但在软件物料清单中,并不包括用于部署软件的微服务和其他组件。为了更全面了解所用的组件,我们需要创建流水线物料清单PBOM(PipelineBillofMaterials),其中包含用于将应用程序从代码到交付的所有软件组件和服务。​ 为什么PBOM很有必要?软件安全不仅取决于源代码,还取决于整个软件交付流水线的集成。此类集成包括构建工具、镜像仓库和IaC(InfrastructureasCode)部署。普通应用程序使用的库和组件数量正在增长,数据显示应用程序平均使用超过500个开源库和组件,

Plus版SBOM:流水线物料清单PBOM

相信大家对软件物料清单(SBOM)并不陌生,它是指用于构建软件解决方案的所有软件组件(开源或商业)的列表。但在软件物料清单中,并不包括用于部署软件的微服务和其他组件。为了更全面了解所用的组件,我们需要创建流水线物料清单PBOM(PipelineBillofMaterials),其中包含用于将应用程序从代码到交付的所有软件组件和服务。​ 为什么PBOM很有必要?软件安全不仅取决于源代码,还取决于整个软件交付流水线的集成。此类集成包括构建工具、镜像仓库和IaC(InfrastructureasCode)部署。普通应用程序使用的库和组件数量正在增长,数据显示应用程序平均使用超过500个开源库和组件,

【《硬件架构的艺术》读书笔记】06 流水线的艺术(2)

6.6DLX指令集的实现这节开始将指令集相关内容,没学过相关知识,看不太懂,就快速浏览一下好了。DLX指令集包括五个部分:1、指令获取(IF)IRNPC从存储器中获取指令(PC为指针)并放入指令寄存器(IR),IR保存下个时钟周期所需指令,PC值递增4,指向下个指令地址。2、指令解码/寄存器获取(ID)   指令格式是固定的,所以读寄存器和解码可以同时进行。这称为固定域译码。3、执行/有效地址周期(EX)根据指令类型执行下面4个功能之一:a)访问存储器   b)寄存器——寄存器ALU指令   c)寄存器——立即数ALU指令d)分支指令   4、访问存储器/分支完成周期(MEM)a)访问寄存器 

【《硬件架构的艺术》读书笔记】06 流水线的艺术(2)

6.6DLX指令集的实现这节开始将指令集相关内容,没学过相关知识,看不太懂,就快速浏览一下好了。DLX指令集包括五个部分:1、指令获取(IF)IRNPC从存储器中获取指令(PC为指针)并放入指令寄存器(IR),IR保存下个时钟周期所需指令,PC值递增4,指向下个指令地址。2、指令解码/寄存器获取(ID)   指令格式是固定的,所以读寄存器和解码可以同时进行。这称为固定域译码。3、执行/有效地址周期(EX)根据指令类型执行下面4个功能之一:a)访问存储器   b)寄存器——寄存器ALU指令   c)寄存器——立即数ALU指令d)分支指令   4、访问存储器/分支完成周期(MEM)a)访问寄存器 

【《硬件架构的艺术》读书笔记】06 流水线的艺术(3)

6.9流水线冒险冒险会干扰流水线并阻止下一条指令在目标时钟周期内的执行。冒险会降低流水线在理想情况下所能带来的速度提升。冒险分类:1、结构冒险:资源冲突导致硬件无法支持所有可能的指令组合同时执行。2、数据冒险:指令执行需要之前指令计算结果,而这个结果还在流水线中没计算出来。3、控制冒险:分支的流水线的其他指令改变程序计数器的值。通用方法:停止流水线直至风险消除,在流水线中插入多个“气泡”。6.9.1结构冒险  如图,MEM在一个周期内被两个指令使用,产生冲突。解决方法:如图,停一个周期,待对MEM的冲突解除后再恢复流水线。另一种方法:IF和MEM阶段使用不同的存储器来避免同时访问同一块存储器。