ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Metrics 깃허브 README적용
    DevOps/Git 2023. 3. 30. 21:52
    완성된 README

    README.md

    기본 설명

     

    설정 방법은 5가지 방법을 제공하며 그중에서 깃허브 Action으로 적용

    https://github.com/lowlighter/metrics#-setup

     

    GitHub - lowlighter/metrics: 📊 An infographics generator with 30+ plugins and 300+ options to display stats about your GitHub

    📊 An infographics generator with 30+ plugins and 300+ options to display stats about your GitHub account and render them as SVG, Markdown, PDF or JSON! - GitHub - lowlighter/metrics: 📊 An infograph...

    github.com

     

    깃허브 Action에 대한 설명이다.

    yml 파일(key-value 형태의 설정 파일)로 작성하며 CI/CD 기능을 제공한다.

    CD에 직접 사용해본적은 없지만 빌드와 배포에 관한 정보도 한글문서로 제공되어있다.

    https://docs.github.com/ko/actions

     

    GitHub Actions 설명서 - GitHub Docs

    GitHub Actions를 사용하여 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완

    docs.github.com

     

    1. 깃허브 레포지토리 생성 

     

    레포지토리 생성1

    New 클릭

     

    레포지토리 생성2

    단 아이디와 동일하게 생성해야한다.
    다음과같이 Add a REAME file에 체크한 뒤 생성한다 (이미 존재하는경우 아래와같이 알림이 뜬다)
    단 아이디와 동일하게 생성해야한다. 깃허브 초기 진입 프로필 화면에 README.md = 아이디레포 README.md 이기때문이다.
    2. 토큰 발급

     

    토큰 발급 1

    Settings 클릭

    토큰은 레포지토리에 접근할 수 있는 권한을 갖고있다.
    우리가 Action을 사용하기 때문에 자동으로 우리 레포에서 파일을 생성할 수 있도록 권한을 부여하기 위해 생성한다고 보면 된다.
    지금 이해하지 못해도 최종적으로 yml파일을 생성하여 커밋하면 이해할 수 있다.

     

    토큰 발급 2

    Developer settings클릭

    토큰 발급 3

    토큰 생성

     

    토큰 발급 4

     

    토큰 발급 5

    6가지 체크 후 토큰 생성
    생성된 토큰 값은 다시 확인 할 수 없기때문에 따로 메모장에 저장해둬야한다.
    3. 레포지토리 설정

     

    레포지토리 설정 1

    다시 레포지토리로 돌아온후 Settings > Secrets and variables > Actions 클릭

     

    레포지토리 설정 2

    New repository secret 클릭

     

    레포지토리 설정 3

    토큰 Name은 METRICS_TOKEN 이라고 설정한다.
    방금 생성한 토큰 값을 Secret 박스안에 복붙해준다.

     

    레포지토리 설정 4

    레포지토리 Action 탭으로으로 이동하여 main.yml 선택

     

    레포지토리 설정 5

     

    yml 파일을 연필 버튼을 눌러서 수정한다.

     

    name: Metrics
    on:
      # Schedule daily updates
      schedule: [{cron: "0 0 * * *"}]
      # (optional) Run workflow manually
      workflow_dispatch:
      # (optional) Run workflow when pushing on master/main
      push: {branches: ["master", "main"]}
    jobs:
      github-metrics:
        runs-on: ubuntu-latest
        permissions:
          contents: write
        steps:
          - uses: lowlighter/metrics@latest
            with:
              filename: github-metrics-left.svg
              base: header, activity, community, repositories, metadata
              plugin_languages: yes
              plugin_languages_ignored: >- 
                html, css
              plugin_languages_details: bytes-size, percentage
              plugin_topics: yes
              plugin_topics_limit: 12
              plugin_topics_mode: icons
              token: ${{ secrets.METRICS_TOKEN }}
          - uses: lowlighter/metrics@latest
            with:
              filename: github-metrics-right.svg
              base: ""
              plugin_achievements: yes
              plugin_achievements_only: >-
                polyglot, stargazer, deployer, developer,
                scripter, explorer, infographile
              plugin_achievements_display: compact
              plugin_achievements_threshold: X
              plugin_isocalendar: yes
              plugin_isocalendar_duration: full-year
              plugin_repositories: yes
              plugin_repositories_pinned: 4
              token: ${{ secrets.METRICS_TOKEN }}

     

    다음과 같이 yaml 파일 작성한다.
    schedule에 cron은 시간을 의미하며 * 5개가 들어가는데 
    각 아스타는 다음과 같은 의미를 가지고있다.
    1번째 Minute(0-59)
    2번째 Hour (0-23)
    3번째 day of month (1-31)
    4번째 month (1-12)
    5번째 day of week (0-6) (일요일이 0번)
    토큰은 방금 설정한 key이름으로 가져와서 세팅됨으로 name이 다르지않도록 설정한다. 
    step이 두개인데 좌측 svg파일과 우측 svg 파일로 만들어서 html 테이블에 넣을것이기때문이다.
    설정파일을 수정하면 자동으로 Action이 실행되는데 다음과 같이 작업이 완료될때 기다린다.

     

    레포지토리 설정 6

     

    다음과같이 생성되면 파일을 확인 할 수 있다.

     

    레포지토리 설정 7

    파일 확인 후 README.md 파일 클릭후 다음과 같이 코드를 작성한다.

     

    <table>
      <tbody>
        <tr>
        <td align="center">
          <img src="github-metrics-left.svg" alt="" />
        </td>
        <td align="center">
          <img src="github-metrics-right.svg" alt=""/>
        </td>
        </tr>
      </tbody>
    </table>

     

    이후 프로필 초기화면으로 돌아가면 방금 반영한 README.md 파일을 확인할 수 있다.

     

    'DevOps > Git' 카테고리의 다른 글

    GCP(구글클라우드플랫폼)로 자동 커밋 하기  (0) 2023.04.15

    댓글

Designed by Tistory.