CICD:Circle CI 实现CICD

持续集成解决什么问题

  • 提高软件质量
  • 效率迭代
  • 便捷部署
  • 快速交付、便于管理

持续集成(CI)

集成,就是一些孤立的事物或元素通过某种方式集中在一起,产生联系,从而构建一个有机整体的过程。

持续,就是指长期的对项目代码进行集成。

持续集成是指将所有开发者工作副本每天多次合并到主干的做法。

持续集成强调开发人员提交了新代码之后,立刻进行构建、测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

持续部署(CD)

对于一个成熟的CICD管到来说,最后的阶段就是持续部署。作为持续交付——自动将生产就绪型构建版本发不到代码存储库的延伸。

持续集成组成要素

一个最小化的持续集成系统需要包含以下几个要素:

  • 版本管理系统
  • 构建脚本和工具
  • CI服务器

Circle CI

使用Circle CI 实现github的持续集成

  1. 注册CircleCI
    进入CircleCI官网,使用github账号登录,同意github授权

  2. 在项目中添加config.yml文件

    version: 2.1
    jobs:build:docker:- image: cimg/node:18.18.1# branches:#   only: "main"steps:- add_ssh_keys:fingerprints:- "c8:bf:ed:9c:f6:b9:45:93:7d:aa:17:be:d0:06:ba:27"- checkout- restore_cache:keys:- dependencies-- run:name: installcommand: npm install- save_cache:paths:- node_moduleskey: dependencies-- run:name: Build github pagescommand: npm run build- run:name: Prepare shell commandscommand: chmod +x scripts/deploy.sh- run:name: Run Deploy scriptscommand: ./scripts/deploy.sh
    workflows:deploy:jobs:- build
    
  3. 添加启动存储库
    登录circleci网站后,点击首页右上角的go to application,会进入下面的页面,在该页面中点击左边菜单的projects,然后在选择需要使用circleci的项目后点击右边的set up project
    在这里插入图片描述

  4. 配置ssh key
    在上面的那个页面中点击右边的已经set up的仓库名称进入项目页面,然后点击右边的project settings。
    在这里插入图片描述
    点击project settings 后进入设置页面,选中左边菜单的ssh keys 在user key 选项中点击add user key。
    在这里插入图片描述

  5. 更改项目后使用git命令提交项目即可自动部署到github pages

如果需要通过github pages访问项目,需要在github的项目仓库中点击设置,在设置页面中选中左边的菜单栏中的pages,在Build and deployment"选项中,选择要部署的分支
在这里插入图片描述
然后访问username.github.io查看您的新网站。请注意,在将更改推送到GitHub后,发布对网站的更改可能需要长达10分钟的时间

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

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

相关文章

element ui el-table表格复选框,弹框关闭取消打勾选择

//弹框表格复选框清空 this.$nextTick(()>{this.$refs.table.clearSelection();})<el-table ref"table" v-loading"crud.loading" :header-cell-style"{ color: #FFF, background: #333 }":cell-style"{ color: #FFF, background: #3…

Java基础--阳光总在风雨后,请相信彩虹

1、今日任务 JAVA SE-韩顺平视频教程–30p以上&#xff08;今天得50p以上因为是基础&#xff09;计算机基础八股记忆总结刷题&#xff08;两题&#xff09;可以先用python 1、SSM ssm->Spring&#xff08;轻量级的文本开发框架&#xff09;/SpringMVC&#xff08;分层的w…

前端面试题个人笔记(后面继续更新完善)

文章目录 填空题部分简答题部分 if有好答案请各位大佬们在底下评论上&#xff0c;感谢 填空题部分 1、常见的css选择器 2、getElementById获取元素的&#xff08;DOM&#xff09;对象 简答题部分 1、介绍一下你对RESTful API的理解以及它的优势&#xff1f; 答&#xff1a; …

Android自定义AppGlideModule,DataFetcher ,ModelLoaderFactory,ModelLoader,Kotlin(1)

Android自定义AppGlideModule,DataFetcher ,ModelLoaderFactory,ModelLoader,Kotlin(1) 假设实现一个简单的功能&#xff0c;对传入要加载的path路径增加一定的筛选、容错或“重定向”&#xff0c;需要自定义一个模型&#xff0c;基于这个模型&#xff0c;让Glide自动匹配模型…

探索RPA流程自动化在不同行业的应用案例

随着数字化的推进&#xff0c;企业建设了大量的业务系统&#xff0c;跨系统的业务流程越发复杂&#xff0c;业务孤岛、 流程孤岛、数据孤岛也随之出现&#xff0c;产生了大量需要人工执行的重复性系统操作流程。而使用RPA能将员工从大量的、重复的、高耗时的工作中解放出来&…

【【萌新的SOC学习之AXI DMA环路测试介绍】】

萌新的SOC学习之AXI DMA环路测试介绍 AXI DMA环路测试 DMA(Direct Memory Access&#xff0c;直接存储器访问)是计算机科学中的一种内存访问技术。它允许某些计算机内部的硬件子系统可以独立地直接读写系统内存&#xff0c;而不需中央处理器&#xff08;CPU&#xff09;介入处…

修改Grafana自动刷新时间为1s

仪表盘设置了1s自动刷新&#xff0c;但是Grafana默认的刷新时间最低是5s&#xff0c;我们需要修改下Grafana的配置文件 grafana.ini配置文件&#xff1a; [dashboards] # Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1 # 要保留的仪表板版本号…

从零开始的LINUX(二)

1.alias: 用法&#xff1a;取别名&#xff0c;此时code1是code的别名&#xff0c;对code1进行操作和对code进行操作结果一致。 如果原本文件名不存在&#xff0c;仍可以正常运行指令&#xff0c;不会报错。 2.stat 显示指定文件或目录的状态、属性。 3.touch 当文件名不存在的…

1.MySQL库的操作

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 1.创建数据库&#xff1a; 语法&#xff1a;create database if not exists db_name charset字符集 collate校验规则 ; if not exists &#xff0c;charset &#xff0c;collate可以不加&#xff0c;直接create database 数…

Vue项目 -- 解决Eslint导致的console报错问题

在利用vue-cli3构建的项目中引入eslint进行语法检查时&#xff0c;使用console.log(‘xxx’)时&#xff0c;控制台抛出了Unexpected console statement (no-console) 异常&#xff0c; 例&#xff1a;一使用console就提示报错 解决办法是&#xff1a; 在 .eslintrc.js 文件中…

Java的异常指什么

Java异常 什么是异常&#xff1f; 程序在执行过程中&#xff0c;出现的非正常情况&#xff0c;如果不处理最终会导致JVM的非正常停止 异常并不是语法错误&#xff0c;语法错误的话编译不会通过&#xff0c;不会产生字节码文件&#xff0c;根本运行不起来 异常的抛出机制&am…

docker离线安装和使用

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://ullx9uta.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo syste…

常见场景面试题(二)

typora-copy-images-to: imgs theme: cyanosis 敏感词库的设计&#xff0c;要求增删改查敏感词。敏感词文本匹配&#xff0c;敏感词一万个&#xff0c;文本长度在 20 - 1000 答&#xff1a;使用 trie 树来实现敏感词库的设计&#xff0c;可以利用字符串公共前缀来节约存储空间。…

使用 Elasticsearch 作为向量数据库:深入研究 dense_vector 和 script_score

Elasticsearch 是一个非常强大且灵活的搜索和分析引擎。 虽然其主要用例围绕全文搜索&#xff0c;但它的用途广泛&#xff0c;足以用于各种其他功能。 其中一项引起许多开发人员和数据科学家关注的功能是使用 Elasticsearch 作为向量数据库。 随着 dense_vector 数据类型的出现…

Linux多线程编程- 无名信号量

简介 无名信号量&#xff08;在 POSIX 环境下通常指 sem_t 类型的信号量&#xff09;是用于同步和互斥的原语&#xff0c;它允许线程和进程按照预期的顺序执行&#xff0c;并确保对共享资源的安全访问。无名信号量与命名信号量的主要区别在于它们的可见性和生命周期。无名信号…

基本分段存储管理方式(分段,段表,地址转换以及与分页管理对比)

1.分段 1.进程的地址空间: 按照程序自身的逻辑关系划分为若干个段&#xff0c;每个段都有一个段名 &#xff08;在低级语言中&#xff0c;程序员使用段名来编程&#xff09;&#xff0c;每段从0开始编址. 2.内存分配规则: 以段为单位进行分配&#xff0c;每个段在内存中占据…

学习笔记---超基础+详细+新手的顺序表~~

目录 1.顺序表的前言 1.1 顺序表--->通讯录&#x1f4c7; 1.2 数据结构的相关概念&#x1f3c7; 1.2.1 什么是数据结构 1.2.1 为什么需要数据结构 2. 顺序表概念及分类 2.1 顺序表的概念&#x1f419; 2.2 顺序表的分类&#x1f42b; 2.2.1 顺序表和数组的区别 2.…

金x软件有限公司安全测试岗位面试

目录 一、自我介绍 二、你是网络空间安全专业的&#xff0c;那你介绍下网络空间安全这块主要学习的东西&#xff1f; 三、本科专业是网络工程&#xff0c;在嘉兴海视嘉安智城科技有限公司实习过&#xff0c;你能说下干的工作吗&#xff1f;&#xff08;没想到问的是本科实习…

第一个Spring程序

目录 一、怎么创建Spring项目 1.1 使用maven创建Spring项目 1.2 导入Spring相关依赖 二、Spring的配置文件 三、使用Spring配置文件创建类对象 3.1 Spring核心api 3.2 Spring程序开发 一、怎么创建Spring项目 1.1 使用maven创建Spring项目 在创建新项目的时候使用maven去创建…

DDoS检测防御实现方案

流量采集模式 通过分光器将流量直接镜像到攻击检测器&#xff0c;收包采用DPDK库。 当前整机流量、源IP信息、连接数 、连接内容(五元组等)的信息汇聚 当发生告警时采样原始数据包&#xff0c; 采用固定采样算法 基于检测对象的TCP syn ack psh ack established的个数、流量…