シェルでワークフローを自動化

シェルでワークフローを自動化

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

すべてのコンテンツを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です。

関連情報