Github Profile

使用Github Action进行对github profile的定制化

Github Action相当于自动化生成一个Metrics模板并且导入到你的readMe

  1. 创建一个仓库,名字为你的github用户名

  2. 一定要添加readme,因为readme相当于代替了你的profile

  3. 创建文件 /.github/workflow/metrics.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    # Visit https://github.com/lowlighter/metrics#-documentation for full reference
    name: Metrics
    on:
    # Schedule updates (each hour)
    schedule: [{cron: "0 * * * *"}]
    # Lines below let you run workflow manually and on each commit
    workflow_dispatch:
    push: {branches: ["master", "main"]}
    jobs:
    github-metrics:
    runs-on: ubuntu-latest
    permissions:
    contents: write
    steps:
    - uses: lowlighter/metrics@latest
    with:
    # Your GitHub token
    # The following scopes are required:
    # - public_access (default scope)
    # The following additional scopes may be required:
    # - read:org (for organization related metrics)
    # - read:user (for user related data)
    # - read:packages (for some packages related data)
    # - repo (optional, if you want to include private repositories)
    token: ${{ secrets.METRICS_TOKEN }}

    # Options
    template: classic
    base: activity, community, repositories, metadata
    config_timezone: Asia/Shanghai
    plugin_habits: yes
    plugin_habits_charts: yes
    plugin_habits_charts_type: classic
    plugin_habits_days: 14
    plugin_habits_facts: yes
    plugin_habits_from: 200
    plugin_habits_languages_limit: 8
    plugin_habits_languages_threshold: 0%
    plugin_habits_trim: yes
    plugin_isocalendar: yes
    plugin_isocalendar_duration: full-year
    plugin_notable: yes
    plugin_notable_filter: stars:>500
    plugin_notable_from: all
    plugin_notable_repositories: yes
    plugin_notable_types: commit
  4. SECRET_TOKEN中填入 token,具体的token自己生成,至于SECRET_TOKEN在哪里找,详见之前的自动化部署文章

  5. 运行成功即可

    image-20240529143036460

  6. 显示页面

    image-20240529143004077

CI/CD


😍😍😍😍😍gpt讲的很有道理😍😍😍😍😍

CI/CD 是持续集成(Continuous Integration)和持续交付/持续部署(Continuous Delivery/Continuous Deployment)的缩写,它们是现代软件开发实践中的两个重要概念,旨在提高软件的开发效率、质量和可靠性。

持续集成(Continuous Integration, CI)

定义:持续集成是一种软件开发实践,开发团队成员经常(通常是每天多次)将代码变更集成到共享仓库中。每次集成都通过自动化构建和自动化测试来验证,从而尽早发现集成错误。

关键点

  • 频繁提交:开发者频繁地将代码提交到版本控制系统。
  • 自动化构建:代码提交后,自动化工具会构建项目并运行测试。
  • 即时反馈:开发者可以迅速获得反馈,了解他们的变更是否通过了测试。
  • 集成分支:通常有一个“主干”分支,所有的开发都基于这个分支进行。

持续交付(Continuous Delivery, CD)

定义:持续交付是在持续集成的基础上,确保软件可以随时部署到生产环境,但不一定自动部署。它要求代码始终处于可部署状态,使得手动部署过程可以快速无误地执行。

关键点

  • 可部署性:代码始终处于可以发布到生产环境的状态。
  • 自动化测试:除了单元测试,还包括集成测试、性能测试等,以确保代码质量。
  • 部署准备:准备好部署到生产环境的所有必要步骤,如配置、安全检查等。

持续部署(Continuous Deployment, CD)

定义:持续部署是持续交付的延伸,它自动化了软件的发布过程。当新的代码变更通过自动化测试后,它们将被自动部署到生产环境。

关键点

  • 自动化部署:代码变更在通过所有测试后,自动部署到生产环境。
  • 快速迭代:允许软件快速迭代,加速产品上市时间。
  • 风险管理:通过自动化测试和监控,降低部署风险。

CI/CD 的好处

  • 提高效率:自动化的构建和部署流程减少了手动操作的时间和错误。
  • 提升质量:频繁的集成和自动化测试有助于及早发现和修复缺陷。
  • 增强协作:团队成员可以更紧密地合作,共同推动项目进展。
  • 快速响应:可以快速响应市场变化和用户需求,加速产品迭代。

CI/CD 已经成为敏捷开发和 DevOps 文化的核心组成部分,帮助团队实现更高效、更可靠的软件开发和发布流程。