Javascript 프로젝트를 위한 Github 작업: 5분 미만.
4477 단어 reactgithubjavascript
Github Actions는 작년에 출시되었으며 Github에 이미 코드가 있는 경우 몇 시간이 아닌 몇 분 안에 파이프라인을 설정할 수 있다는 점에서 매우 훌륭합니다. 이 가이드에서는 5분 만에 Github 작업으로 자신의 파이프라인을 설정하는 방법을 보여드리겠습니다!
전제 조건
이 가이드에서는 다음이 이미 설정되어 있다고 가정합니다.
그 방법으로 시작하자
워크플로 파일을 설정합니다.
Github 작업은 워크플로 파일에서 실행되며, 이 파일은 Github에 CI 머신 설정 방법과 설정 후 수행할 작업을 알려줍니다. 시작하려면 디렉터리 루트에
.github
라는 폴더를 만듭니다. 거기에서 해당 폴더로 이동하여 workflows
라는 다른 폴더를 만듭니다. 해당 폴더로 다시 들어가서 YAML 파일을 만듭니다. 원하는 이름이 될 수 있습니다.워크플로 파일을 만든 후 다음 내용을 붙여넣습니다.
name: CI
on:
pull_request:
types: [opened, closed]
branches: ['main']
jobs:
job-name:
runs-on: ubuntu-latest
strategy:
matrix:
node-versions: [12.x]
steps:
# Setup steps
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
# User defined steps
- run: sudo npm install -g yarn
- run: yarn
- run: yarn lint
- run: yarn test
env:
CI: true
그럼 이 파일에서 무슨 일이 일어나고 있는지 분석해 봅시다. 먼저 상단에 작업 흐름이라고 부를 이름이 있습니다. 다시 말하지만 원하는 것은 무엇이든 될 수 있습니다.
ci.yaml
블록 아래에 있는 이 블록은 워크플로가 실행되는 시기와 분기를 정의합니다. 이 워크플로는 끌어오기 요청에서 실행하기 위한 것이며 워크플로가 열리거나 닫힐 때마다 실행됩니다. 또한 on:
분기에 대해 열린 PR로 실행을 제한합니다. main
또는 develop
와 같은 다른 분기가 있는 경우 해당 블록에도 추가할 수 있습니다.release
블록 아래에는 on:
블록이 있습니다. 사용 중인 노드 버전을 정의합니다. 이 경우 매트릭스를 사용하고 v12.x.x인 노드 버전으로 작업을 실행하도록 지정합니다.마지막으로 맨 아래에는 작업 흐름의 고기와 감자인
strategy:
블록이 있습니다. 처음 몇 단계는 NodeJS를 설정하기 위한 것이지만 그 아래에서 자신만의 단계를 정의할 수 있습니다.이 예에서 내 프로젝트는
steps
를 사용하므로 첫 번째 단계는 이를 설치한 다음 yarn
및 lint
명령을 실행하는 것입니다. test
에 있는 내용에 따라 이러한 단계를 추가, 제거 및 수정할 수 있습니다.PR을 엽니다.
worflow 파일 설정을 마쳤으면 변경 사항을 브랜치에 커밋한 다음 PR을
package.json
브랜치로 엽니다. 그렇게 하면 CI가 자동으로 시작되어 실행되기 시작합니다.이 빠른 가이드가 모든 사람이 코드를 보다 안정적으로 유지하는 데 도움이 되기를 바랍니다. 이는 매우 기본적인 설정이며 프로젝트를 계속 성장시키면서 기능을 추가할 수 있습니다.
Reference
이 문제에 관하여(Javascript 프로젝트를 위한 Github 작업: 5분 미만.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sgolovine/github-actions-for-your-javascript-project-in-less-than-5-minutes-54dc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)