从 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
您现在已经有了一个 shell 脚本。使其可执行:
chmod +x workflow.sh
现在您可以像命令一样运行它:
./workflow.sh
只需调用工作流程,它就会按顺序执行每个命令。
您现在是一名初学者系统程序员。你只能从那里上去。
更新
指定变化无需每次更改时都编辑脚本:
git commit -m "changes"
读书:
git commit -m "$1"
然后你可以通过变化作为命令行参数:
./workflow "Describe changes made"
另一个有用的工具是别名和PATH
.您可以创建一个特殊目录(例如~/bin
)并将所有脚本放在那里,将此目录添加到您的PATH
变量中,并且您不需要每次启动脚本时都键入脚本的完整路径。如果使用别名,您需要为每个脚本创建别名,但有时别名更方便,因为您可以在其中指定不同的运行参数。
答案2
您可以使用 python utils 组织代码:https://wiki.python.org/moin/FlowBasedProgramming
另一个上面没有提到但仍然很有前途的软件包是 Snakemake。