GitHub Page + React를 이용한 포트폴리오 웹사이트 호스팅

An DoEon·2020년 9월 27일
1

수많은 개발자들이 GitHub를 사용하고, GitHub Page 또한 사용하고 있을 것입니다. 저는 ReactFolio 템플릿을 사용해 GitHub Page를 좀 더 유용하게, 자신의 포트폴리오 웹사이트로 만들어 보고자 합니다.


ReactFolio Theme

ReactFolio 테마는 제가 리액트로 만든 다크 테마 템플릿입니다~🙂

https://github.com/ikalli/ReactFolio

Demo Page


ReactFolio Theme 적용하기

Getting Started

시작하기 전에, 몇가지 준비사항이 있습니다.

  1. 우선 테스트 및 배포를 위해 Node.js는 필수로 설치해야 되고, Git은 선택이지만 설치하시면 편합니다.(나중에 커밋, 푸시를 위해…) IDE는 VSCode를 사용했습니다.

node --version
git --version

Node.js, Git 설치를 확인하시려면 위 두 명령어를 통해 할 수 있습니다.
버전이 나온다면 잘 설치가 되어 있는것입니다!!

https://github.com/ikalli/ReactFolio

  1. 우선 위의 링크로 들어가 git clone 또는 fork를 통해 로컬 저장소에 다운받습니다.

  2. [username].github.io 이름으로 새로운 Repository를 생성해 줍니다. Readme 자동생성은 꺼주세요

    • 단, 이미 [username].github.io가 존재하거나 사용중이신 분들은 다른 이름으로 만드셔도 무방합니다! 나중에 package.json 에서 해결할거에요~!
  3. git push를 통해 방금 만든 [username].github.io 혹은 다른 repository에 올려줍니다.


템플릿 적용하기

  1. 터미널을 키고(VSCode는 Ctrl + backtick(grave accent) 입니다.) 프로젝트 루트에서 npm i 명령어를 치면 package.json 에 적혀있는 대로 모듈들을 설치하게 됩니다. 프로젝트 루트를 보면 modules 폴더가 생성된걸 볼 수 있습니다.
  2. package.json 으로 가서, 아래 사진처럼 homepage 속성을 넣어줍니다. 이때 , 주소는 https://[username].github.io 로 시작해야 합니다!

https://[username].github.io를 포트폴리오 사이트로 만들 수도 있습니다!

  1. 다음은 src/portfolio.tsx 파일을 여러분들에 맞게 수정만 하시면 됩니다.
  2. 그 뒤 테스트를 해봐야겟죠? 터미널에 npm start 명령어를 치면 localhost:3000 주소로 화면이 뜰겁니다.
  3. 그 뒤로 여러분의 입맛대로 코드를 수정하시면서 작업하셔도 좋습니다.

GitHub Personal Access Token 발급받기

그런데 보시면 Open Source에 하나도 없는 것이 보이실겁니다.(정상입니다😄!) GitHub Token 을 받지 않았기 때문입니다.

  1. GitHub에 로그인하신 후 https://github.com/settings/tokens 에 들어가줍니다.

  1. Generate new token 버튼을 클릭해서 토큰을 만들어 주어야 합니다.

  1. Note에 토큰이름을 적어주시고, 아래 Select scopes에는 절대!!!!! 아무것도 선택하시면 안됩니다!!!(제가 이거땜에 5시간 삽질했다는….🤣)

아무것도 선택하지 않아야 토큰이 public으로 바뀝니다. 만약 아무거나 선택을 하고 토큰을 만들면, 테스트할때는 잘 되지만 나중에 빌드 후 접속할 때는 토큰이 사라지게 됩니다. public이 아닌 토큰인데 외부에서 접속해서 GitHub 자체에서 보안상 토큰을 삭제해주는 것 같습니다.

  1. 그리고 쭉 아래로 가서 Generate token 버튼을 클릭하면 새로운 토큰이 생성된걸 볼 수 있습니다.

  1. 복사 아이콘을 클릭해 토큰을 복사해주세요! 만약 복사가 안되었다면 토큰을 클릭한 후 Regenerate token 버튼을 클릭하면 새로운 토큰이 생성됩니다!

  2. 다시 프로젝트로 가서, 프로젝트 루트에 .env.local 파일을 생성해줍니다.

REACT_APP_GITHUB_TOKEN = Your Token
  1. 그리고 위의 내용처럼 = 뒤에 토큰을 붙여넣기 해주세요.

  2. .gitignore 파일에 .env.local이 적혀있는지 꼭! 확인해주세요. 그래야 원격 저장소에 토큰이 노출되는 것을 막을 수 있습니다.

  3. 다시 npm start 명령어를 통해 작동이 잘 되는지 확인해 주세요. 여러분이 깃허브 프로필에서 설정한 Pinned Respositories 6개(최대)가 뜨는 것을 확인할 수 있습니다.

Customization

마지막으로, public 폴더에 있는 favicon, apple-touch-icon, android-chrome 등의 이미지와 아이콘 파일, src/asset에 있는 프로필 사진(your photo.png) 파일을 수정해서 사용하는 것을 추천합니다!

option: src.portfolio.tsx 파일도 .gitignore 파일에 추가할 수 있습니다!!

포트폴리오 사이트 배포하기

테스트를 했을 때 문제없이 웹사이트가 나온다 하면 이제 다른사람들도 볼 수 있게 배포를 해주어야겠죠?

  1. 터미널에 npm run deploy를 치면, 여러분이 전에 작성한 package.json안에 있는 hompage 속성값에 있는 주소로 배포가 됩니다. gh-pages라는 모듈이 리액트 앱을 깃허브 페이지로 배포를 해주는 모듈입니다.

원격저장소(Repository)로 가서 branch 탭을 열어보면 gh-pages라는 브랜치가 생성된 것을 볼 수 있습니다.

그리고 Repository Settings에 들어가서 아래로 스크롤 하다 보면 GitHub Pages라는 메뉴가 있습니다. 여기서 Branch가 gh-pages로 잘 되어 있는지, publish된 주소가 맞는지 확인해주세요.

다 되었다면 배포한 주소로 들어가 보면 웹사이트가 나오게 됩니다!(배포 후 약 3~5분정도 기다리면 나옵니다!)

나중에 src.portfolio.tsx를 수정하고 다시 npm run deploy를 실행하면 업데이트가 됩니다!

profile
Hard worker, fully-passionated Web Front-end Developer

4개의 댓글

comment-user-thumbnail
2020년 11월 7일

안녕하세요 혹시 이 프로젝트에서 next사용방법있을까용,,, 아직 잘 몰라서 ㅠㅠ

1개의 답글
comment-user-thumbnail
2021년 3월 15일

안녕하세요
리액트 템플릿 만들어서 공유해주셔서 감사합니다.
코드도 알아보기 쉽게 깔끔하고 구성도 포트폴리오용으로 딱 좋은것 같아요.ㅎㅎ
다만 오픈소스 부분에서 한가지 설명을 빠트리신것 같아서 댓글 남깁니다. Open Source에 본인계정을 등록하려면 위에 써주신 과정만으로는 안되더라고요ㅠㅠ 한참 헤매다가 두가지의 과정을 더해서 해결했습니다.
src/component/OpenSource/OpenSource.tsx 파일에서
1. .query({ user(login: "본인의 깃허브 username") 부분을 본인의 깃허브 username으로 바꾸고
2. function setrepoFunction 에서 More Projects href부분을 본인의 깃허브 주소로 변경 까지 해야 해결되더라구요 ㅎㅎ
저처럼 헤매시는분들 있을까봐 댓글달고 갑니다.

1개의 답글

관련 채용 정보