Github에 배포 - by. UXKM

요약 설명

UXKM Gulp 강의의 마지막 페이지입니다.

Gulp로 만든 정적인 홈페이지를 웹에서 볼 수 있도록 배포하는 과정이 필요합니다.
Gulp에서는 gulp-gh-pages를 사용하여 이 작업을 간편하게 할 수 있습니다.

7.2.1. gulp-gh-pages 플러그인 설치

터미널에서 아래 명령을 실행하여 gulp-gh-pages 플러그인을 설치합니다.

npm install gulp-gh-pages -D

gulp-gh-pages

gulp-gh-pages는 Gulp 플러그인 중 하나로, 정적 웹사이트를 GitHub Pages에 배포할 때 사용됩니다. 이 플러그인을 사용하면 Gulp 작업 흐름에서 GitHub Pages로의 배포를 자동화할 수 있습니다.
설정된 Gulp 작업을 실행하면 gulp-gh-pages가 변경된 파일을 감지하여 GitHub 저장소의 gh-pages 브랜치에 해당 파일을 업로드합니다.
이를 통해 웹사이트의 배포 과정을 편리하게 처리할 수 있습니다.

7.2.2. 배포(Deploying)를 위한 파일 세팅

package.json 수정

package.json 파일을 열고 scripts 부분에 아래처럼 코드를 추가합니다.

gulpfile.babel.js 세팅

gulpfile.babel.js 파일의 코드를 아래처럼 추가 및 수정합니다. (영역별 설명은 주석으로 대체합니다.)
변경이 없는 부분은 생략되며, 추가된 부분수정, 삭제된 부분의 코드만 표시됩니다.
또한 변경 없음, 추가된 부분, 수정, 삭제된 부분을 표시하는 텍스트는 마우스 드래그로 선택되지 않으므로 편리하게 코드를 복사할 수 있습니다.
전체 코드는 에디터기 오른쪽 [View full code]를 클릭하여 확인할 수 있습니다.

7.2.3. gulp deploy 실행

gulpfile.babel.js 파일을 세팅한 후 터미널에서 아래 명령을 실행합니다.

중요합니다!

gulp deploy 실행 후 두 가지 오류가 발생할 수 있습니다.

gulp deploy 오류사례 1

gulp deploy 실행 시 발생할 수 있는 오류사례1

[gh-pages] No files in the stream. 이 문구가 나오는 이유는,
배포 대상인 dist 폴더가 없어서 발생하는 오류입니다. 이럴 경우 gulp build 또는 gulp dev 실행 후 gulp deploy를 실행하면 해결됩니다.

gulp deploy 오류사례 2

gulp deploy 실행 시 발생할 수 있는 오류사례2

TypeError: Can not read properties of null (reading '0') 또는
TypeError: Can not read property '0' of null 문구가 나올 때는 터미널에서 아래 명령을 실행합니다.

위 작업이 완료된 후 gulp deploy를 실행하면 해결됩니다.

gift 패키지는 gulp-gh-pages가 실행될 때 GitHub 인증에 사용됩니다.
우리는 이전 섹션에서 [Github 원격 권한 등록]을 설정했기 때문에 gift 패키지만 설치하면 gulp-gh-pages가 GitHub에 업로드할 때 인증을 자동으로 처리합니다.

gulp deploy 정상작동

gulp deploy가 정상작동 하면 아래처럼 메시지가 출력됩니다.

gulp deploy complate

위 내용을 풀면 다음과 같습니다.

  1. gulp-gh-pagesdist 폴더를 복사하여 .publish 폴더를 생성
  2. gh-pages 브랜치를 생성
  3. .publish 폴더의 모든 파일을 스테이징
  4. 업데이트 날짜와 시간을 메시지로 기록한 후 commit
  5. 원격 저장소에 push
  6. gulp-gh-pages가 배포를 위해 생성한 .publish 폴더cleanDeploy로 삭제

7.2.4. gh-pages 브랜치 및 웹사이트 확인

배포까지 완료된 후 Github의 저장소와 실제 웹상에서 결과물을 확인합니다.

gh-pages 브랜치에 배포 결과물 확인

main 브랜치 버튼 클릭하면 gh-pages 브랜치가 생성된 것을 확인할 수 있습니다.
gh-pages 브랜치를 클릭하여 gh-pages 브랜치 페이지로 이동합니다.

gh-pages 브랜치 확인

gh-pages 브랜치에서 방금 배포한 파일을 확인할 수 있습니다.
로컬 Gulp 폴더의 dist 폴더의 내용과 동일한 빌드가 완료된 파일만 배포되었음을 확인할 수 있습니다.

gh-pages 브랜치로 이동하여 배포된 소스 확인

온라인상의 웹사이트 확인

브랜치명 그대로 주소창에 입력합니다.
로컬 브라우저로 봤던 결과물 그대로 온라인상에서도 확인할 수 있습니다.

배포 후 온라인 상의 웹사이트 확인

7.2.5. 마치며..

배포 단계까지 모든 UXKM Gulp 커리큘럼이 마무리되었습니다.
여기까지 UXKM이 Gulp를 활용하여 현재 여러분이 보고 있는 이 웹사이트를 제작하면서 쌓은 경험과 지식을 공유했습니다.
본 커리큘럼이 각자의 프로젝트나 다양한 환경에서 많은 도움이 되길 바랍니다.
모두 수고 많으셨습니다.

아래 링크는 UXKM Gulp 예제 주소입니다.