생활 단순화: GitHub 작업을 사용하여 BPMN 시각적 소스 오픈

너무 길어서 읽을 수가 없어요.


GitHub 작업에 익숙한 경우 워크플로우 설명자build.yml로 직접 이동하여 모든 문제를 해결하려고 할 수 있습니다.만약 없다면, 나는 너에게 아래의 글을 읽어 달라고 부탁한다.

소개


오픈 소스 프로젝트 BPMN Visualization이 시작되어 프로세스 시각화에 사용되는 TypeScript 라이브러리를 개발합니다.본고에서 저는 GitHub 조작을 사용하여 구축 작업 흐름을 만드는 방법을 설명할 것입니다. 우리는 이 BPMN 시각화 프로젝트에 사용할 것입니다.
하지만 우선 정의가 있다.
BPMN는 객체 관리 그룹이 게시하는 그래픽 표현 표준으로 실행 가능한 업무 프로세스를 모델링하는 데 사용됩니다.
BPMN Visualization는 BPMN 그림에서 시각화된 프로세스 실행 데이터를 위한 TypeScript 라이브러리입니다.
초기 개발 단계이기 때문에 1.0.0 버전 이전에 변경될 수 있습니다.GitHub에서 코드를 확인하십시오.repository.
GitHub Actions 저장소에서 소프트웨어 개발 워크플로우를 직접 자동화하고 사용자 정의하며 실행할 수 있습니다.
이 신기한 도구에 대한 정보를 더 많이 읽으세요: GitHub Actions marketplace.

유용한 GitHub 용어 및 용어집


보기GitHub Actions documentation를 권장하지만, GitHub 작업의 주요 원칙을 이해하는 데 필요한 기본 요소는 아래에 설명되어 있습니다.
  • 행동이란?작업은 작업을 만들기 위해 다른 작업과 조합할 수 있는 단독 작업입니다.예를 들어, 저장소 보기 또는 작업 환경 설정많은 GitHub 작업을 사용할 수 있습니다. - GitHub 운영 시장에서 쉽게 검색할 수 있습니다.GitHub팀은 행동을 제정했고 제3자 공급업체에서 왔다.만약 네가 무엇이 부족하다고 생각한다면, 너도 자신의 행동을 발전시킬 수 있다.
  • 작업은 하나 이상의 동작으로 구성된다.
  • 워크플로우는 하나 이상의 작업으로 구성됩니다.
  • 트리거는 지정된 워크플로우를 트리거하는 이벤트입니다(예: 주 지점으로 푸시).
  • You can define multiple workflows in your project. A workflow definition resides in a YAML file.


    워크플로우 구축에 대한 기대.


    다음과 같은 방법으로 반복 작업을 자동화합니다.
  • 설치 종속성
  • 건설 프로젝트 및
  • 테스트 항목
  • 모든 새로운 기능을 저장소로 밀어넣고 드래그 요청을 작성한 후.
    워크플로우를 생성하면 다음 단계를 자동으로 실행할 수 있습니다.
  • 여러 플랫폼에서 어플리케이션을 구축할 수 있는지 확인

  • 다음 방법을 사용하여 코드 변경 내용이 제대로 전달되었는지 확인합니다.
  • 가죽면
  • 유닛 테스트
  • e2e테스트
  • GitHub 작업 - 워크플로우 생성


    GitHub 작업의 강력성과 단순성을 보여주기 위해 새로 나온 소스 프로젝트의 구축 워크플로우를 보여 드리겠습니다. BPMN Visualization.
    GitHub 저장소에서 원래 워크플로우 구성 파일build.yml을 직접 미리 볼 수 있습니다.
    구축 워크플로우는 두 개의 GitHub 작업으로 구성됩니다.매우 간단합니다. - 자세한 내용은 각 문서 페이지를 참조하십시오.
  • GitHub Action: checkout
  • GitHub Action: setup-node
  • 다음은 상기build.yml의 내용과 평론이다.읽기 편리하도록 그것은 두 부분으로 나뉜다.
    첫 번째 부분은 파일의 위쪽을 표시합니다.워크플로의 name 뒤에는 이벤트의 정의on가 있으며 이 워크플로에서 정의된 작업이 트리거됩니다.
    코드에서 볼 수 있듯이 두 개의 트리거가 있다. push부터 지점 메인 제어와 pull request 메인 제어를 바탕으로 만든 것이다.
    키:paths ignore에서 지정한 파일에서 변경이 발생하면 트리거가 작동하지 않습니다.
    워크플로우 1/2 섹션 구축
        name: Build
    
        on:
          push:
            branches:
              - master
            paths-ignore:
              - '.path1'
              - '.path2'
          pull_request:
            branches:
              - master
            paths-ignore:
              - '.path1'
              - '.path2'
    
    아래에 표시된 두 번째 부분은 job 구축을 정의했다.대부분의 사용 가능한 장치에서 작업을 시작할 수 있도록 3가지 다른 운영체제(Ubuntu, macOS, Windows)에서 작업을 실행합니다.
  • 행동/checkout@v2- 먼저 저장소 보기
  • 작업/설정 -node@v1- 그런 다음 지정된 버전
  • 을 사용하여 노드 환경 설정

  • 다음 단계는 종속 항목을 설치하고 코드 라이브러리에서 품질 보증 검사를 수행하는 노드 명령입니다.
  • npmci-설치 의존항
  • npm 실행 lint check-lint 코드
  • npm 실행 구축 - 구축 응용 프로그램
  • npm 운행 테스트: 단원-운행 단원 테스트
  • npm 운행 테스트: e2e-운행 e2e테스트
  • 워크플로우 섹션 2/2를 작성합니다.
        jobs:
          build:
            runs-on: ${{ matrix.os.name }}
            strategy:
              # we want to run the full build on all os: don't cancel running jobs even if one fails
              fail-fast: false
              matrix:
                # we define the matrix of systems on which we want to perform the build job
                os:
                  - { name: ubuntu-latest}
                  - { name: macos-latest }
                  - { name: windows-latest }
            steps:
              - uses: actions/checkout@v2
              - name: Setup node
                uses: actions/setup-node@v1
                with:
                  node-version: 12.x
              - name: Verify node, npm version
                run: |
                  node --version
                  npm --version
              - name: Install dependencies
                run: npm ci
              - name: Lint check
                run: npm run lint-check
              - name: Build Application
                run: npm run build
              - name: Test Application
                run: npm run test:unit
              - name: Test Application End to End
                run: npm run test:e2e
    

    결론


    보시다시피 GitHub를 사용하는 작업은 매우 간단하고 좋은 문서 기록이 있습니다.실제 작업을 완료하는 기본 워크플로우를 만드는 데 몇 분만 걸리면 반복 작업에서 일반적으로 손실되는 몇 시간의 시간을 절약할 수 있습니다.나는 이것이 충분히 명확하길 희망하지만, 만약 당신에게 어떤 문제가 있다면, 조금도 주저하지 않고 평론 부분에서 제기해 주십시오.
    이것은 개원 프로젝트이기 때문에, 우리 팀은 당신을 지역 사회에 가입하고 공헌하도록 초청합니다: https://github.com/process-analytics/bpmn-visualization-js.
    GitHub에서 작성된 워크플로우 실행 미리보기는 다음과 같습니다.

    나는 너희들이 구축과 좋은 테스트 커버율을 통과할 수 있기를 바란다.

    좋은 웹페이지 즐겨찾기