채린씨의 티스토리
[GitHub] 레포지토리의 파일 링크 README.md에 자동 업데이트 본문
부트캠프에서 매일매일 TIL을 작성하라고 해서 GitHub 레포지토리를 새로 만들었다. 그런데..
매일매일 리드미에 링크를 추가하는 건 너무 귀찮은걸... 지난번에 레포 파일 수를 리드미에 자동 업데이트했던 코드를 조금만 수정하면 되지 않을까...👻 (참고: https://bit.ly/3zNjBf5)
가보자고.. (이 글은 부트캠프 동료들을 위한 것임을 알립니다.🥰)
1. 자동으로 업데이트되는 README를 적용할 레포지토리를 생성해주세요.
각자 가지고있는 TIL용 레포만 있으면 됩니다!
2. 해당 레포지토리에 utils 폴더를 만들고, 그 안에 check_files.py 파일을 생성해주세요.
아래 코드를 살짝만 수정해서 복붙하시면 됩니다!
import os
def get_file_list():
file_list = [file for file in os.listdir("./") if "2022" in file]
file_list = sorted(file_list)
total_file_cnt = len(file_list)
return file_list, total_file_cnt
def make_info(file_list, total_file_cnt):
info = f"## TIL List\nTotal TIL Count: {total_file_cnt}개\n"
for file in file_list:
temp = f"- [{file}](https://github.com/chaerin-dev/connecTo_TIL/blob/main/{file})\n"
info += temp
return info
def make_read_me(info):
return f"""# connecTo_TIL
Zerobase connecTo 프론트엔드 스쿨 1기 TIL<br><br>
{info}
"""
def update_readme():
file_list, total_file_cnt = get_file_list()
info = make_info(file_list, total_file_cnt)
readme = make_read_me(info)
return readme
if __name__ == "__main__":
readme = update_readme()
with open("./README.md", 'w', encoding='utf-8') as f:
f.write(readme)
- get_file_list(): 루트 디렉토리에서 이름에 "2022" 문자열을 포함하는 모든 파일 이름을 file_list에 저장하고 정렬한다. 모든 파일 개수를 total_file_cnt에 저장한다.
- TIL이 다른 폴더 내부에 있을 경우 os.listdir()안의 경로를 수정해주시면 됩니다!
- make_info(file_list, total_file_cnt): get_file_list()에서 만들어진 file_list, total_file_cnt를 이용해 "2022" 문자열을 포함하는 모든 파일 개수, 각 파일의 링크를 info에 저장한다.
- chaerin-dev는 본인 깃허브 유저네임으로, connecTo_TIL은 본인 레포지토리 이름으로 변경해주시면 됩니다!
- make_read_me(info): make_info(file_list, total_file_cnt)에서 만들어진 info를 이용해 README에 보일 내용을 readme에 저장한다.
3. 레포지토리의 Actions 탭에서 Python application의 Configure 버튼을 눌러 python-app.yml 파일을 수정해주세요.
아래 코드를 살짝만 수정해서 복붙하시면 됩니다!
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python application
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
- name: Run Update Python Script
run: |
python utils/check_files.py
- name: Run Update README.md File
run: |
git add .
git diff
git config --local user.email "chaerin.dev@gmail.com"
git config --local user.name "chaerin-dev"
git commit -m "Automatically Update README.md file"
git push
- main branch에서 변경사항이 발생할 때 자동 업데이트가 수행되도록 했습니다.
- user.email과 user.name 에는 본인 이메일과 깃허브 유저네임을 적어주면 됩니다!
4. main branch에 새로운 TIL을 추가해봅니다.
main branch에 수정사항이 발생하면 자동으로 리드미가 업데이트됩니다! (실시간으로 반영되는 건 아니고, 최대 1분 정도 소요되는 것 같아요.) 새로운 TIL파일을 생성한 이후에 Action탭에 들어가 보면 자동 업데이트가 잘 진행되는지 실시간으로 확인할 수 있어요. 오류가 생긴 경우 어떤 코드에서 오류가 발생했는지도 확인할 수도 있어요!
5. README가 잘 업데이트되었는지 확인합니다!
* .gitignore에 관련 폴더들을 추가할 경우 작동하지 않습니다!
잘 작동하지 않으면 언제든지 불러주십쇼~!
'Git' 카테고리의 다른 글
[Git] Git: 폴더/파일명 대소문자를 바꿨다고? 어쩔티비.. (후비적) (0) | 2023.03.23 |
---|---|
[GitHub Desktop] 깃헙 데스크탑에 쿼크만큼 어쩌구의 후기 (2) | 2022.04.15 |
[GitHub] 레포지토리의 파일 수 README.md에 자동 업데이트 (2) | 2022.03.31 |
[GitHub Desktop] 깃헙 데스크탑에 쿼크만큼 기여한 썰 푼다.. (0) | 2022.03.25 |
[Git] .gitignore가 적용되지 않을 때 (0) | 2022.03.24 |
Comments