작업 러너 mask 추천
이게 뭐야?
이 기사는 FOLIO Advent calendar 2019의 21 일째 기사입니다.
20일째는 sachiohappy08씨의 현역 편집자가 웹 엔지니어에게 알리고 싶은 출판 업계와 인세 이야기이었습니다.
22일째는 k_masa777의 고통받은 ScopedStorage에 대해입니다.
jakedeichert/mask 를 사용해 보았고, 개발이 끝났기 때문에 다른 사람들에게 추천하고 싶었기 때문에 써 보았습니다.
추천하는 이유
당사는 마이크로서비스를 채용하고 있으므로, 여러 리포지토리를 동시에 볼 필요가 있습니다.
그 때, 각 디렉토리를 이동하지 않고 마이크로서비스 리포지토리의 태스크 러너를 취급하거나 미들웨어를 docker로 집계하고 싶을 때, 자신만의 태스크 러너로서 markdown으로 작성된 태스크의 정의를 실행할 수 있기 때문에 , 각 서비스를 더럽히지 않고 잘 취급할 수 있으므로, 개발이 끝납니다.
사용법
install
mask는 Rust로 작성되었으므로 Rust 빌드 도구 및 패키지 관리자
cargo
에서 설치합니다.cargo install mask
물론 github 릴리스에서 다운로드하여 PATH를 통해 사용할 수 있습니다.
update 할 때는, 자신은 신경질이 아니므로, 삭감과 아래의 커멘드로 최신판을 인스톨 해 버립니다.
cargo install mask --force
global maskfile.md
이 예와 같이
~/dev/maskfile.md
같은 것을 두고
mask --maskfile ~/dev/maskfile.md
alias로 설정하면 각 프로젝트의 디렉토리로 이동하지 않고 자신만의 작업을 수행할 수 있습니다.
커멘드 인수나 플래그도 준비되어 있으므로, 각 툴의 커멘드 라인 옵션에 아울러, 자신만의 커멘드를 만들 수 있습니다
사용해 보았습니다.
만약 프로젝트 부하에
maskfile.md
를 두고 싶지만, git로 관리되고 싶지 않은 경우는, global의 gitignore로 maskfile.md
를 제외하도록 해 두면 좋을까 생각합니다.실태는 단순한 markdown 파일이므로, 멱등이 없는 한, 다른 것에 영향을 주는 것은 없다고는 생각합니다.
예를 들어, 프로젝트는 Scala의 sbt, Node의 yarn, GCP의 gcloud와 같은 여러 작업 러너와 CLI를 잘 처리해야하기 때문에 mask를 도입했습니다.
한 태스크에서 다른 태스크를 호출하는 것도 가능하기 때문에 태스크 종속성을 쉽게 이해할 수 있습니다.
결론
어땠습니까?
태스크의 정의를 markdown으로 기재하는 것으로, 문서로서도 알기 쉬워지고, markdown을 익숙한 사람이라면, 도입도 간단하다고 생각합니다.
약간의 shell script나 Makefile을 쓸까라고 생각했을 때에 기억해 주시면 다행입니다.
Reference
이 문제에 관하여(작업 러너 mask 추천), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/grimrose@github/items/d9f15b0897cd6cc77995텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)