Changie - 교체 및 선택

7357 단어 showdevgonewsnode

교체



큰 프로젝트를 진행 중이거나 팀의 일원인 경우 둘 이상의 언어를 사용하게 될 확률이 높습니다. 기계 학습을 위해 파이썬을 실행하고, 프론트엔드에서 반응하고, 백엔드를 위해 레일 위의 루비와 일부 자바 스프링 서비스가 뿌려질 수 있습니다. 엔지니어로서 우리는 도커 또는 쿠버네티스와 같은 많은 솔루션을 가지고 있기 때문에 이것은 자체적으로 문제가 되지 않습니다.

이러한 도구는 모두 릴리스를 준비하고 배포해야 하는 방법에 약간의 변형이 있습니다. 한 가지 공통점은 공유 변경 로그에 대한 릴리스 정보를 제공하는 것입니다. 이러한 이유로 Changie이 가능한 한 많은 언어에서 작동하는 것이 중요했습니다. 이를 달성하는 한 가지 방법은 replacement configurations을 사용하는 것입니다. 이 구성을 사용하면 변경이 빌드 프로세스의 일부로 새로 준비된 버전으로 파일을 업데이트할 수 있습니다. 버전 값에 대한 이동 템플릿이 있는 sed와 매우 유사하게 작동합니다.

노드JS



NodeJS 프로젝트의 경우 패키지 json 파일에 프로젝트 버전을 포함하는 몇 가지 예를 살펴보겠습니다. 릴리스 정보를 배치할 때 Changie가 이 값을 업데이트하도록 하려면 아래 구성을 사용할 수 있습니다(docs here에도 표시됨)

replacements:
  - path: package.json
    find: '  "version": ".*",'
    replace: '  "version": "{{.VersionNoPrefix}}",'


파이썬



프로젝트에서 Python 프로젝트의 버전을 정의하는 방법은 여러 가지가 있으므로 모든 방법을 다룰 수는 없습니다. 그러나 fastAPI에서 사용하는 일반적인 방법 중 하나는 프로젝트의 루트에 있는 __init__.py 또는 __main__.py 파일에 버전 속성을 만드는 것입니다. 예를 들어 here은 FastAPI에 대한 버전이 정의된 위치입니다. 이는 다음과 유사한 구성으로 업데이트할 수 있습니다.

replacements:
  - path: "fastapi/fastapi/__init__.py"
    find: '__version__ = ".*"'
    replace: '__version__ = "{{.VersionNoPrefix}}"'




화물 toml 파일에는 version field이 포함되어 있으므로 이를 대체하면 다음과 같습니다.

replacements:
  - path: "cargo.toml"
    find: 'version = ".*"'
    replace: 'version = "{{.VersionNoPrefix}}"'


이것은 단지 몇 가지 예일 뿐이며 물론 여러 개의 교체를 포함할 수 있으며 모든 언어에서 작동해야 합니다.

선택



Changee는 새 변경 조각을 생성할 때 사용자에게 두 가지 질문에 대한 답변을 묻는 메시지를 표시합니다(활성화된 경우). 이들은 친절하고 몸입니다. 종류는 추가, 수정, 제거 또는 사용 중단과 같은 변경 유형과 연결됩니다. Kind configuration에서는 레이블, 헤더 및 형식을 설정할 수 있습니다.

두 번째 질문은 변경의 본문입니다. 이 기능은 전역적으로 또는 종류별로 비활성화할 수 있습니다. 보다 구체적인 프롬프트가 필요한 특정 종류의 변경에 대해서는 이 기능을 비활성화할 수 있습니다.

Custom choices은 각 변경 조각에 대한 추가 정보를 제공하기 위해 추가 프롬프트를 추가하도록 구성할 수 있습니다. 이러한 선택 사항은 형식 변경에 사용할 수 있는 사용자 정의 맵에 추가됩니다.

간단한 예는 Changie 자체에서 문제 번호를 요청하고 서식을 지정할 때 링크를 추가하는 것입니다. Changie's.changie.yaml는 기본적으로 이슈 선택이 추가된 기본 구성입니다.

changeFormat: '* [#{{.Custom.Issue}}](https://github.com/miniscruff/changie/issues/{{.Custom.Issue}}) {{.Body}}'
custom:
- key: Issue
  type: int
  minInt: 1


또 다른 아이디어는 끝에 저자에 대한 링크를 포함하는 것입니다.

# config yaml
custom:
- key: Author
  type: string
  minLength: 3
changeFormat: '* {{.Body}} fixed by [@{{.Custom.Author}}](https://github.com/{{.Custom.Author}})


사용자 지정 선택 항목은 머리글 및 바닥글 형식에서도 사용할 수 있습니다. 예를 들어 바닥글에 작성자를 포함합니다.

custom:
- key: Author
  type: string
  minLength: 3
footerFormat: |
  ### Contributors
  {{- range (customs .Changes "Author" | uniq) }}
  * [{{.}}](https://github.com/{{.}})
  {{- end}}


일단 그게 전부 야. Twitter에서 또는 discussion on GitHub을(를) 시작하여 저에게 연락하십시오.

좋은 웹페이지 즐겨찾기