我从事的大多数项目都有一个脚本目录。举个例子,以下是我用来描述柏林一切的脚本:
这些脚本都非常简单。它们的长度不超过10行,而且不带任何争论。有些只调用一个命令,那么为什么还要费心去创建它们呢?
必须做的事情(";启动项目";,";运行测试";等等)。不会变的。在一个项目的生命周期中,必须如何做(纱线……、码头-作曲……)可能会发生多次变化。(#34;WAXING……,";DOCKER-COMSACTION...";)在一个项目的生命周期中,它可能会发生多次变化。更新单个脚本比传播一组新命令容易得多。
此脚本包含启动项目的唯一有效说明。它是如何执行这项任务的唯一真理来源。您的同事、CI/CD管道、提交挂钩、cronjob、其他脚本和文档可以直接引用start.sh。如果更改脚本,新指令会立即传播。你不需要通知你的同事,不需要更新一大堆詹金斯的工作,也不需要更新自述文件。所有这些都是最新的。不会有任何差异。
由于所有这些人员和机器都在使用相同的脚本,因此改进它们是值得的。您可以添加可用性改进,这将使整个团队受益。您可以检查python/node/docker版本,添加错误处理,删除输出中的噪音,添加颜色和标头来构建步骤,甚至可以进行交互。
脚本调用也比命令更显式。调用lint-source e.sh&;&;start.sh&;&;run-tests.sh&;&;的Jenkins作业...。是非常不言而喻的。名为create-user.sh的脚本比docker-compose exec后端python3manage.py createsuperuser更容易记住。当您经常在项目之间切换,并且经常需要回忆每个项目的工作方式时,这一点尤其有用。