간단한 방법을 통해 블로그에 내용이 github의 profiles에 노출될 수 있도록 하는 방법을 소개하려고 합니다.
저의 github를 들어가 보면 README.md에 여기 블로그의 제목이 아래와 같이 보이는 걸 알 수 있습니다.
이렇게 블로그의 포스트가 github에 특정 시간만 되면 업데이트되면서 노출될 수 있도록 하는 방법을 소개하려고 합니다.
README.md
우선 README가 무엇인지 소개를 간단히 하고 시작을 합니다. README란 Github 레포지토리에 자신의 프로젝트를 올릴 때, 프로젝트에 대한 설명(기술 스택과 본 프로젝트의 설명, 정보)뿐 아니라 사용하기 위한 가이드, LICENSE 등의 내용을 기술하는 파일이다.
그러나 우리는 이번시간에 나를 소개하는 README는 github에서 제공하는 것으로 나만을 프로필을 꾸밀 수 있도록 special repository를 만들도록 지원하고 있다. 이를 통해 README를 작성하면 github profiles에 README에 대한 내용을 보여줄 수 있도록 한다.
자신의 아이디와 동일한 레포지토리 생성
현재는 저에게 레포지토리가 생성되어 있기 때문에 위와 같은 오류가 있지만 원래는 생성이 가능하고, Add a README file를 체크 ✅
Workflow & Actions 작성
이번 시간에 위에 보이는 오픈소스를 활용해서 github의 actions를 활용해 Workflows로 블로그의 포스트를 git에서 노출할 수 있도록 할 것이다.
우선 자신의 프로젝트를 클론
git clone https://github.com/kyoowon/kyoowon.git
위와 같이 클론을 받아서 다음과 같은 파일 구조로 파일들을 생성한다.
README.md
.github
- workflows
- blog-post-workflows.yml
README.md 작성
<!-- BLOG-POST-LIST:START -->
<!-- BLOG-POST-LIST:END -->
README에 위와 같이 포스트가 들어갈 영역인 시작과 끝을 작성해서 알려주면 됩니다.
blog-post-workflows.yml 작성
name: Latest blog post workflow
on:
schedule: # Run workflow automatically
- cron: '0 0 * * *' # Runs every hour, on the hour
workflow_dispatch: # Run workflow manually (without waiting for the cron to be called), through the Github Actions Workflow page directly
jobs:
update-readme-with-blog:
name: Update this repo's README with latest blog posts
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Pull in dev.to posts
uses: gautamkrishnar/blog-post-workflow@master
with:
feed_list: "https://kyulee.tistory.com/rss"
이때 feed_list와 corn을 작성해야 한다. 우선 본인의 블로그 피드 주소를 넣어야 하는데, 다음과 같이 작성해야 한다.
[본인의 블로그 주소]/rss
ex) "https://kyulee.tistory.com/rss"
다음으로는 corn(크론 표현식)에 대해서 알아야 하는데, 크론 표현식이란 간단하게 얘기를 하면 업데이트에 대한 주기 등을 설정에 대한 시간대를 의미하는 것으로 다음과 같은 사이트를 통해서 원하는 시간대로 설정할 수 있도록 한다.
저는 0 0 * * * 매일 자정에 새로운 글이 있다면 업데이트하도록 작성했습니다. 여기까지 끝났다면 프로젝트를 푸시.!!!
Actions 탭으로 이동
다음과 같이 workflow가 보입니다. 그럼 이제 run workflows 하면 나의 포스팅을 github에서 볼 수 있게 됩니다.
'dev > Git' 카테고리의 다른 글
CDN ( Github & jsdelivr ) (0) | 2022.02.27 |
---|