개츠비 시작 및 실행: CD 파이프 생성
6887 단어 devopsgatsbygithubjavascript
gh-pages
지점으로 전송했습니다.나의 새로운 사이트가 생겼다. 나는 낡은 방식을 버리고 자동 파이프라인을 만들어 나의 사이트를 GitHub 페이지에 배치할 때가 되었다.GitHub 페이지를 선택해야 하는 이유
저는 GitHub 페이지를 사용하여 블로그를 관리해 왔습니다. 왜냐하면 경량급이고 GitHub와 틈새 없이 통합되기 때문입니다.그것은 간단하고 무료이며 기본적으로 HTTPS를 강제로 사용하고 사용자 정의 도메인을 추가하는 등 무료 혜택을 제공한다.
로컬 배포
나의 새 게이츠비 사이트를 자동으로 배치하기 전에, 나는 어떻게 현지에서 그것을 배치하는지 배웠다.이를 위해 나는
scripts
의 package.json
라벨에 항목을 추가하여 나의 게이츠비 사이트를 위해 생산 준비된 구축을 만들었다."scripts": {
...
"build": "gatsby build",
}
npm run build
사이트를 구축하고 생성된 자산을 public
라는 폴더에 배치합니다.이 public
폴더를 HTTP 서버에 복사하면 내 사이트가 서버에 배치됩니다.HTTP 서버를 시작하여 http-server 폴더의 자산에 서비스를 제공합니다. 이 폴더는 로컬에 사이트를 효과적으로 배치합니다.
➜ cd public
➜ http-server
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8082
http://10.10.10.10:8082
http://192.168.13.12:8082
Github 페이지에 수동 배포
Github 페이지 설정
GitHub 페이지를 Jekyll 사이트에 사용한 이래로 GitHub 페이지를 설정했지만 완전성을 위해 이 절차를 반복할 것입니다.
GitHub 저장소의 설정 페이지로 들어가서
public
섹션으로 스크롤합니다.저는 개츠비 구축 과정에서 생성된 파일이 제
GitHub Pages
지점을 난잡하게 만들고 싶지 않아서 master
지점을 제 GitHub Pages 사이트의 원본 지점으로 선택했습니다.내가 이 지점으로 보내는 모든 정적 사이트는 gh-pages
에 발표될 것이다.나는 또한 deborah-digges.github.io
기본적으로 사용된 사실을 좋아한다.모든 안전!수동 배포
저는 로컬에서 사이트를 구축하고
Enforce HTTPS
폴더를 GitHub의 public
지점으로 전송하여 수동으로 사이트를 GitHub 페이지에 배치합니다.이것은 일련의 상당히 서투른 명령이 필요하다.
git checkout -b gh-pages
gatsby build
# Temporarily move the public folder
mv public /tmp
# Remove all other files
rm -r *
# Move the contents of the public folder back to the root of the directory
cp -r /tmp/public/* .
git commit -m "Release new version of blog"
git push origin gh-pages
이것은 매우 간단해서 gh-pages
같은 명령으로 의외로 너의 컴퓨터 전체를 폭파하기 쉽다.gh-pages 소프트웨어 패키지의 존재는 우리를 자신으로부터 구할 수 있는 좋은 일이다.나는 그 역할을 발휘하기 위해 의존항을 나의 프로젝트에 추가할 것이다.
yarn add gh-pages
rm -r *
내 저장소가 있는 위치를 알기 위해 gh-pages
속성을 추가했습니다.{
...
"homepage": "deborah-digges.github.io",
...
}
내 homepage
에 다른 스크립트 package.json
를 추가했습니다. 이 스크립트는 deploy
를 실행하고 package.json
폴더를 Github의 저장소 build
지점으로 가져옵니다."scripts": {
"build": "gatsby build",
"deploy": "npm run build && gh-pages -d public",
}
봐라!나는 public
스크립트를 사용하여 내 컴퓨터에서 내 사이트를 수동으로 배치할 수 있다.내 사이트는 당시 deborah-digges.github.io 에서 운영되고 있었다✨끊임없이✨ Travis CI 배포 사용
너무 좋아요.내 개츠비 사이트를 배치했어!그러나 금요일 오후에 내 노트북에서 수동으로 사이트를 배치하고 싶지 않다.
나는 continously deploy 나의 사이트를 결정했다. 이렇게 하면 모든 새로운 제출이 자동으로 나의 GitHub 페이지 사이트에 배치된다.이것은 매우 흥분스럽지만, 나는 잘못된 제출이 나의 블로그 전체를 붕괴시키지 않도록 하기 위해 내 사이트에 대한 자동 테스트를 하는 중요한 절차를 돌았다.그러나 나는 앞으로 블로그를 발표할 수 있도록 위험한 생활을 하면서 나의 게이츠비 사이트에 대한 테스트를 계속하기로 결정했다.
등록 중
저는 제 GitHub 계정으로 Travis CI 사이트에 등록하고 Travis와 제 GitHub 데이터를 공유하는 것에 동의합니다.
저장소 설정
그리고 repositories 페이지로 들어가
gh-pages
저장소 구축을 사용했습니다.travis를 추가합니다.yml 파일
내 저장소의 루트 디렉터리에
npm run deploy
파일을 추가해서 Travis가 제출할 때마다 deborah-digges.github.io
무엇을 해야 하는지 알려 줍니다.language: node_js
before_script:
- npm install -g gatsby-cli
node_js:
- "10"
script: git config --global user.email $GH_EMAIL 2> /dev/null &&
git config --global user.name $GH_USERNAME 2> /dev/null &&
git remote set-url origin "https://${GH_USERNAME}:${GH_TOKEN}@github.com/deborah-digges/deborah-digges.github.io.git" 2> /dev/null &&
yarn install && yarn run deploy 2> /dev/null
travis.yml
이전에 로컬에 사이트를 배치하는 데 사용했던 master
절차를 실행합니다.Travis CI가 GitHub 저장소에 액세스할 수 있도록 추가 절차를 밟고 있습니다.이것은 Travis CI에 설치된
script
클라이언트에게 내가 누구인지 알려줍니다.git config --global user.name $GH_USERNAME
git config --global user.email $GH_EMAIL
GitHub 저장소에 대한 스크립트 푸시 액세스를 제공하기 위해 원격 URL에 환경 변수 Github Token 를 포함했습니다.git remote set-url origin "https://${GH_USERNAME}:${GH_TOKEN}@github.com/deborah-digges/
이러한 환경 변수는 어디에서 왔습니까?Travis 환경 변수 구성
다음 환경 변수를 스크립트에 사용할 수 있도록 저장소 설정으로 이동합니다.
나는 몇 차례의 노력을 기울여서 그것을 완성했지만, 내 사이트는 현재 끊임없이 GitHub 페이지에 배치되고 있으며, 매번 나의 저장소에 제출되는
yarn run deploy
지점을 자랑스럽게 말한다.이것은 대량의 작업이다. 내가 더욱 간단한 해결 방안을 찾는 과정에서 나는 GitHub 조작을 사용하여 나의 사이트를 지속적으로 배치하는 것을 탐색할 것이다.더 위험한 생활에 계속 관심을 가져주세요!
Reference
이 문제에 관하여(개츠비 시작 및 실행: CD 파이프 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/deborahd/gatsby-up-running-creating-a-cd-pipeline-2p7m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)