GitHub 운영 및 페이지
7483 단어 productivitydevopswebdevnode
최근에 첨부 프로젝트에 참여할 때 BitBucket과 AWS S3을 웹 사이트로 사용해서 CI/CD 조작을 할 수 있는 기회가 생겼습니다.추가 설명으로 GitHub에서 AWS S3으로 배치하는 것에 대한 제안awesome article을 발견했습니다.
이런 영감을 가지고 나는 또 다른 새로운 프로젝트를 시작했다.
내가 생각할 때, 이것은 나의 여정에 관한 문장이라고 말하라고...
GitHub 페이지
프로젝트를 시작할 때 GitHub 페이지를 어떻게 사용하는지 보고 싶습니다.나는 그것들에 관한 몇 편의 문장을 보았는데, 그것이 포함된다.
그들을 조사하는 것은 논리에 맞는 것 같다.
우선, 나는 GitHub Pages부터 내가 선택할 수 있다는 것을 깨달았다.
https://username.github.io
과 https://username.github.io/repository
그래서 지시에 따라 저는
actions-test
라는 저장소를 만들었습니다. 이것은 제가 가고 싶은 방향을 설명하는 것 같습니다.설명에 따라 저는 저장소를 만들고 사이트에 아래 내용을 수동으로 입력했습니다
index.html
.<html>
<head></head>
<body>
<h1>Hello World!</html>
<body>
</html>
알아요...그다지 창의적이지 않다.나는 단지 그것이 쓸모가 있는지 없는지를 보고 싶을 뿐이다.그리고 설정 > 페이지에 들어가서 원본 코드를
Branch: main
과/ (root)
로 설정합니다.저장한 후 저장소 게시를 준비하고 있다는 메시지가 표시됩니다.몇 번 갱신한 후에 이 사이트가 이미 발표되었다는 소식이 전해졌고, 나는 링크를 따라 나의 멋진 사이트를 보았다.GitHub 작업
내가 이 점을 실현할 수 있다는 것을 증명한 이상, 나는 코드를 전송하고 CI/CD 파이프로 페이지를 생성할 수 있는 조작을 찾기 시작했다.
내가 가장 먼저 발견한 것 중 하나는GitHub Marketplace...나는 분명히 거기에 좀 더 머물러야 한다.
그리고 시장에서 하나를 만났어요GitHub Pages action.실제로 몇 개...나는 수행자의 수량과 코드 배치 주파수에 따라 이것을 선택했다.
문서에서 이 코드를 사용할 수 있는 방법은 매우 많다.나는 Static Site Generators with Node.js을 선택했다. 내가 NodeJS로 만든 오래된 프로젝트를 생각해서 대략적인 페이지를 만들었다...이것은 나에게 위의 HTML보다 더 감동적인 것을 주었다.
다음 단계는 YAML 파일을 작성하는 것입니다.나는 맨 위에 있는 '최신 버전 사용' 단추를 눌렀고, 정확한 버전의 코드를 사용할 수 있도록 확보했다.그리고 나는 위의 링크에 따라 파일을 신속하게 만들었다
.github/workflows/gh-pages.yml
.name: GitHub Pages
on:
push:
branches:
- main
pull_request:
jobs:
deploy:
runs-on: ubuntu-20.04
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- run: npm ci
- run: npm run build
- name: Deploy
uses: peaceiris/[email protected]
if: ${{ github.ref == 'refs/heads/main' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist
나는 위의 코드를 상세하게 설명할 생각은 없다...나는 내가 이미 충분히 이해했다고 확신한다.나는 그것이 노드 14npm ci
와 npm run build
를 사용한 것을 보았다.비록 나는 npm ci
의 기능을 배워야 하지만, 이 모든 것은 매우 간단하다.호출된 오래된 프로젝트
npm run build
를 사용하여 최종 코드를 만들고 싶기 때문에, 모든 변경 사항은 코드의 마지막 부분에 있습니다.나 바뀌었어...uses
줄publish_dir
폴더의 dist
줄과 일치합니다.결실
이 모든 코드와 나의 모든 오래된 프로젝트 코드의 사본을 함께 놓은 후에 나는 밀었다.작업을 관찰하기 위해 워크플로가 실행됩니다(내 저장소를 보면 YAML 파일을 저장하기 전에 버전을 밀어 넣었다가 실패한 것을 볼 수 있습니다).
곧 나는 새로운 생각이 떠올랐다.설정 > 페이지를 수동으로 설정하고 원본 코드를
Branch: gh-pages
과 / (root)
로 설정해야 합니다.이 지점은 위의 조작 코드로 만들어졌으며 dist
폴더의 내용을 포함한다.이렇게 많은 흥분을 겪은 후에 나는 링크를 클릭했다...
패하다
... 404페이지를 보려면 (GitHub에서 시간이 걸리면 내가 무엇을 보고 있는지 알 수 있다.
긴 말 (대기, 리셋, 검색) 에서 HTML에
<!DOCTYPE html>
표시가 필요하다는 것을 알았습니다.이 탭이 없으면 페이지를 표시할 수 없습니다.요약
mySTATIC REPOSITORY PAGE를 생성하는 과정은 매우 간단하다.이것은 재미있고 유익한 실험이다...파이프가 작동하고 예상한 일을 하는 것을 보면 만족할 것이다. 왜냐하면 언제든지, 언제든지 이 패턴을 반복해서 일을 정확하게 할 수 있다는 것을 알고 있기 때문이다.
나는 내가 더 많은 것을 배워야 하고 더 많은 글을 써야 한다고 절대로 믿는다.지금 여기는REPO입니다.
Reference
이 문제에 관하여(GitHub 운영 및 페이지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rfornal/github-actions-and-pages-2fba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)