셸에서 워크플로 자동화

셸에서 워크플로 자동화

GUI 인터페이스부터 시작하여 마침내 모든 것을 텍스트로 전송하는 것의 힘을 이해했지만 아직 모든 것을 사용하는 방법을 몰랐습니다.

특정 프로젝트의 작업 흐름이 다음과 같다는 것을 알고 있습니다.

# compile repo 1
cd ~/workspace/repo1
make -B
# deploys compiled code into repo2
make deploy

# commit repo 1
cd ~/workspace/repo1
git add .
git commit -m "changes"
git push origin master

# commit repo 2
cd ~/workspace/repo2
git add .
git commit -m "changes"
git push origin master

내 질문은 이것을 달성하는 방법이 아니라 올바른 도구는 무엇입니까? 읽어보니 Bash 스크립팅이 필요한 것 같은데 전문가에게 문의하고 싶습니다.

답변1

모든 내용을 한 곳에 입력하면 이미 좋은 시작이 된 것입니다.

모든 것을 텍스트 파일에 복사하고(예를 들어 workflow.sh이름은 중요하지 않음)파일의 첫 번째 줄에:

#!/bin/sh

이제 쉘 스크립트가 생겼습니다. 실행 가능하게 만드세요:

chmod +x workflow.sh

이제 다음 명령처럼 실행할 수 있습니다.

./workflow.sh

워크플로를 호출하면 각 명령이 순서대로 실행됩니다.

당신은 이제 초보 시스템 프로그래머입니다. 거기에서만 올라갈 수 있습니다.

고쳐 쓰다

지정하다다양성변경할 때마다 스크립트를 편집할 필요가 없습니다.

git commit -m "changes"

읽다:

git commit -m "$1"

그러면 합격할 수 있어요다양성명령줄 인수로:

./workflow "Describe changes made"

또 다른 유용한 도구는 별칭 및 입니다 PATH. 특수 디렉터리(예: ~/bin)를 만들고 모든 스크립트를 여기에 넣을 수 있으며, 이 디렉터리를 PATH변수에 추가하면 경로를 시작할 때마다 전체 스크립트를 입력할 필요가 없습니다. 별칭을 사용하는 경우 각 스크립트에 대한 별칭을 만들어야 하지만 때로는 별칭에 다른 실행 매개변수를 지정할 수 있기 때문에 별칭이 더 편리합니다.

답변2

Python 유틸리티를 사용하여 코드를 구성할 수 있습니다.https://wiki.python.org/moin/FlowBasedProgramming

위에서 언급되지 않았지만 여전히 유망한 또 다른 패키지는 Snakemake입니다.

관련 정보