0
点赞
收藏
分享

微信扫一扫

【git】CI/CD持续集成与部署C++示例

十里一走马 2024-01-20 阅读 17
gitci/cdc++

文章目录

😏1. CI/CD介绍

CI/CD(持续集成/持续交付)是一种软件开发实践和方法论,旨在通过自动化和持续性地集成、构建、测试和交付软件来提高开发团队的效率和软件质量。它的目标是使软件开发流程更加敏捷、可靠和可持续。

CI/CD 通常包括以下两个主要概念:

CI/CD 的主要优势包括:

  • 加速软件交付:通过自动化和并行化的流程,减少手动操作和部署时间,加快软件交付速度。
  • 提高软件质量:通过持续集成和自动化测试,及时发现和解决问题,提高软件质量和稳定性。
  • 降低风险:由于频繁的集成和测试,可以快速发现和解决潜在问题,减少集成和部署过程中的风险。
  • 增强团队协作:通过共享代码库和自动化流程,促进团队成员之间的协作和沟通,减少集成冲突。
  • 可追溯性和可重复性:所有构建和部署过程都被记录下来,使得可以追溯到特定版本的软件,同时也可以重复执行相同的流程。

CI/CD 工具和平台提供了一组功能和功能集,用于自动化构建、测试和部署流程。一些常见的 CI/CD 工具包括 JenkinsGitLab CI/CDTravis CICircleCIGitHub Actions

😊2. GitHub Actions示例

在项目中创建.github/workflows/cpp.ymlmain.cpp,一个最简的示例如下:

name: C++ CI

on:
  push:
    branches:
      - main  # 当 main 分支有代码推送时触发工作流
  pull_request:
    branches:
      - main  # 当有针对 main 分支的 PR 时触发工作流

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2  # 检出代码

    - name: Set up C++ compiler
      run: sudo apt-get update && sudo apt-get install -y g++  # 设置 C++ 编译环境

    - name: Build
      run: g++ main.cpp -o main  # 执行编译命令

    - name: Test
      run: ./main # run

😆3. GitLab CI/CD示例

在项目中创建.gitlab-ci.yml和main.cpp,最简示例如下:

stages:
  - build
  - test

build:
  stage: build
  image: ubuntu:20.04
  before_script:
    - apt-get update && apt-get install -y g++
  script:
    - g++ main.cpp -o main && ./main

test:
  stage: test
  script:
    - echo "Running tests..."

请添加图片描述

以上。

举报

相关推荐

0 条评论