CICD:Circle CI 实现CICD

news2025/6/16 10:21:46

持续集成解决什么问题

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

持续集成(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: install
              command: npm install
          - save_cache:
              paths:
                - node_modules
              key: dependencies-
          - run:
              name: Build github pages
              command: npm run build
          - run:
              name: Prepare shell commands
              command: chmod +x scripts/deploy.sh
          - run:
              name: Run Deploy scripts
              command: ./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.coloradmin.cn/o/1098547.html

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

相关文章

如何养好一个微信新号?

最近听到一句话,“微信是个完整的互联网”。 你还真别说,真是。如果你还觉得微信只是个聊天视频打电话的工具,那可就有信息差了。 微信有各种各样的小程序,有打车的,有交话费的,有游戏,可以说&a…

【leetcode】260.只出现一次的数字Ⅲ

思路 由于只能使用线性时间复杂度。所以 遍历数组&#xff0c;将每个数字出现的次数存储到字典map中遍历字典&#xff0c;将次数为1的数字取出&#xff0c;就是答案 代码 #include<iostream> #include<vector> using namespace std; #include<map>class …

职场人的拖延症晚癌克星来啦 当当狸时间管理器

时间对于每个人都是公平的❗别说孩子对时间毫无观念&#xff0c;其实成年人又有几个对时间有观念呢&#xff1f; 总说时间不够用&#xff0c;却事事拖拉磨叽&#xff0c;拖延症严重的不仅是孩童&#xff0c;成人占据更多。 据调查显示超九成的职场人士都患有拖延症 拖延症的表…

vm虚拟机克隆ubuntu

1. 使用vm虚拟机自带的克隆功能 2. 选择完整克隆&#xff0c;然后选择您克隆到哪里的目录 3. 点击编辑你克隆后的虚拟机&#xff0c;点网络适配器&#xff0c;然后点高级&#xff0c;点击生成mac地址&#xff08;由于唯一&#xff0c;所以需要重新生成&#xff09; 4. 开启虚拟…

8+铜死亡+铁死亡+分型生信思路,多热点搭配

今天给同学们分享一篇铜死亡铁死亡联合分析的生信文章“Cross-talk between cuproptosis and ferroptosis regulators defines the tumor microenvironment for the prediction of prognosis and therapies in lung adenocarcinoma”&#xff0c;这篇文章于2023年1月17日发表在…

C++项目实战——基于多设计模式下的同步异步日志系统(总集篇)

文章目录 专栏导读项目介绍开发环境核心技术环境搭建日志系统介绍1.为什么需要日志系统2.日志系统技术实现2.1同步写日志2.2异步写日志 前置知识补充不定参函数C风格不定参函数不定参宏函数设计模式六大原则单例模式饿汉模式懒汉模式 工厂模式简单工厂模式工厂方法模式抽象工厂…

软件测试面试分享,纯干货,这拿不到20K?

前言 前面看到了一些面试题&#xff0c;总感觉会用得到&#xff0c;但是看一遍又记不住&#xff0c;所以我把面试题都整合在一起&#xff0c;都是来自各路大佬的分享&#xff0c;为了方便以后自己需要的时候刷一刷&#xff0c;不用再到处找题&#xff0c;今天把自己整理的这些…

Java 全栈体系(四)

第一章 Java 基础语法 十、IDEA 5. IDEA 中类的相关操作 5.1 类的相关操作 新建类文件 删除类文件 修改类文件 5.2 新建类文件 所有的 Java 代码都会写在 src 文件夹当中。 所以&#xff0c;右键点击 src&#xff0c;选择 new&#xff0c;点击 Java Class。 输入类名&…

Arcgis中像元值变化问题,拉伸显示的是否为实际像元值范围?

Arcgis中合并栅格但像元值变化 问题描述 这是四幅栅格&#xff0c;范围都在-1-9之间&#xff0c;怀疑这个范围是否是真实的范围。因为经常听到同学说放到arcgis拉伸显示之后&#xff0c;值变化了&#xff0c;所以研究一下。 原因 可以打开ENVI的像元快速统计工具&#xff…

Linux进阶-ipc管道

目录 ipc管道 无名管道pipe 头文件和函数原型 pipe.c文件 Makefile文件 执行过程 有名管道fifo 函数原型 fifo.c文件 Makefile文件 执行过程 FIFO的应用场景&#xff1a;Linux的日志系统 ipc管道 ipc信号&#xff0c;一个信号从进程中产生&#xff0c;发送给另一个…

Windows连接不上VMware,ping不通的问题

文章目录 防火墙问题Windows和虚拟机下的ip不一致导致的问题VMware Network Adapter (适配器)丢失的问题参考文档 防火墙问题 防火墙默认不会拦截ping命令&#xff0c;除非你个人设置了Linux防火墙Centos7的常用命令关闭防火墙 systemctl stop firewalld #停止Windows和虚拟机…

wordpress遇到的问题

一&#xff09; 403 Forbidden 我是lnmpwordpress&#xff0c;所以在 /etc/nginx/conf.d/default.conf中 修改location 加上 index.php刷新即可&#xff1b; 二&#xff09;wordpress插件更新&#xff0c;需要输入服务器的FTP登录凭证的问题 在 wp-config.php的文件中进行修改…

【C语言】——通讯录(静态-动态增长-文件储存)

目录 前言&#xff1a; 一&#xff1a;整体框架 关于通讯录结构体的创建 二&#xff1a;通讯录的功能实现&#xff08;静态&#xff09; 2.1初始化通讯录 2.2增加联系人 2.3打印通讯录 2.4删除联系人 2.5 查找联系人 2.6修改联系人 2.7排序联系人 三&#xff1a;通…

docker 复习

文章目录 docker 安装配置镜像加速器拉取镜像的仓库&#xff1a; docker 部署Mysql 镜像命令的详细解释docker 相关命令总结 docker 安装 查看是否安装的镜像已经在系统中存在&#xff1a; docker images &#xff08;存在2&#xff0c;不存在 3&#xff09; 卸载旧版本 yum r…

当出现“无法成功完成操作,因为文件包含病毒或潜在的垃圾软件“时的解决办法

安装补丁或其他安装包时,被系统识别为病毒垃圾 具体解决步骤是: 1.在开始菜单&#xff0c;打开Windows 安全中心 找到主页的病毒和威胁防护 找到管理设置 最后将确认安全的文件或安装包添加到排除项即可

Latex 通过\item控制编号

\item通常用于 1 论文写作中的hightlight 2 或一些需要缩进的场景 具体实现 \item 或\item[]在方括号里面添加1&#xff09;、 (1)来控制

Ubuntu系统搭建及环境部署

Ubuntu系统搭建及环境部署 1 制作系统&#xff08;系统盘安装&#xff09;1.1 选择版本&#xff0c;并下载1.2 刻录系统盘1.3 制作系统 2 配置2.1 root登陆2.2 更新国内源 1 制作系统&#xff08;系统盘安装&#xff09; ubuntu中文官网 1.1 选择版本&#xff0c;并下载 在官…

canvas画一个笑脸和画一个三角形

画一个笑脸主要用到的是画弧形的方法&#xff1a;arc&#xff0c;有五个参数&#xff1a;起始坐标&#xff0c;半径&#xff0c;弧形起始坐标&#xff0c;还有一个参数是顺时针还是逆时针。画的笑脸&#xff1a;虽然丑了点&#xff0c;但是学习了 代码&#xff1a; <!DOCTY…

在C++和Python的项目中使用ROS

如果搜索如何使用ROS&#xff0c;搜索结果肯定是先建立工作空间&#xff0c;在创建功能包等等步骤&#xff0c;但其实不需要这么麻烦。 在Python中使用ROS&#xff0c;只需要在Pycharm的Project Structure中的Add Content Root加入ros的packages就可以了&#xff0c;如下图 在…

实时美颜SDK技术的崭新时代:美颜sdk的开发与应用

美颜技术一直以来都备受关注&#xff0c;特别是在社交媒体和直播平台的兴起中&#xff0c;人们对自己的外貌越来越注重。最近这几年&#xff0c;实时美颜已经进入了一个新的阶段&#xff0c;也带来了行业的革新&#xff0c;特别是美颜SDK&#xff0c;在这一进程中扮演了至关重要…