脚本存储库软件

脚本存储库软件

为了帮助支持我们的客户并简化我们的工作,我们的支持团队创建并维护了许多小型(通常少于 50 行)专有脚本,这些脚本使用多种不同的语言编写,以简化常规任务。这些脚本目前存储在许多地方,从内部 wiki 到个人硬盘上的 .txt 文件、内部服务器等,并且很难找到每个脚本的最新版本。

实际上,这些需要分开保存,并且它们之间并没有足够的关联性可以放入共享源存储库,但又不够重要,没有必要为每个存储库创建单独的 RCS 存储库。

您是否知道任何适合管理大量此类脚本的软件或做法?理想情况下,这将提供以下功能:

  • 修订控制
  • 网络访问(通过 HTTP 下载单个脚本)
  • 验证
  • 加密

如果没有标准的软件或标准实践,我想我只能自己创建一些简单的东西了。

答案1

我不同意你的观点,即脚本对于版本控制来说不够重要。它们通常非常重要(例如,登录脚本映射网络驱动器),而且就像你说的,它们通常只存在于服务器上而没有任何版本历史记录,所以如果你搞砸了,你就完蛋了。

我们将所有脚本保存在 Subversion 存储库中,这对我们来说非常有效。好处非常明显。

  • 这是我们所拥有的任何脚本的权威来源。毫无疑问,上周有人对其进行了更新,但没有与所有人分享这一变化。
  • 脚本的更改会被跟踪,如果出现问题可以恢复。任何违反脚本的人都会受到惩罚。

版本控制系统非常轻量级,您可以搭载另一个系统(如果您有内部开发人员,请在他们的服务器上创建一个存储库)或者在需要时创建运行轻量级 Linux 发行版的虚拟机。

顺便说一句,Server Fault 博客上最近有一篇关于此问题的文章。一探究竟

答案2

在过去的类似情况下,我在中创建了一个存储库$scm_of_choice,其中为每个相关组(admin_scriptssql_scripts等)创建了子目录。

或者,根据您讨论的脚本数量,您可以为每个问题域创建一个存储库。

答案3

因为您想要跟踪版本,所以自然要使用版本控制系统 - 有几个 - svn,git 等等。

对于网络访问,您可能需要安装一些额外的软件,但这可以很容易地完成。(对于 svn,您可以安装启用 ssl 的服务器,git 使用 ssh)

相关内容