脚本库软件

为了帮助支持我们的客户并使我们的工作更轻松,我们的支持团队使用多种不同的语言创build和维护大量小型(通常<50行)的专有脚本,以简化正常的任务。 这些文件目前存储在许多地方,从内部维基,到人们自己的硬盘,内部服务器等上的.txt文件,追踪每个版本的最新版本变得越来越困难。

实际上,这些需要保持分离,彼此之间没有足够的联系以便放入共享的源代码库,但是不足以保证为每个代码创build单独的RCS存储库。

您是否知道任何适合pipe理大量这些脚本的软件或实践? 这将理想地提供以下function:

  • 版本控制
  • networking访问(通过HTTP下载单个脚本)
  • authentication
  • encryption

如果没有标准的软件或标准的做法,我想这只是简单的创build一些简单的东西。

我不同意你的观点,即脚本对版本控制不够重要。 它们通常非常重要(例如,映射networking驱动器的login脚本),就像你说的,也经常只是在没有任何版本历史logging的服务器上生活,所以如果你搞砸了,你就搞砸了。

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

  • 这是我们所有脚本权威来源。 毫无疑问,上周有人做了更新,但并没有与大家分享这个变化。
  • 跟踪脚本的变化,如果变成梨形,可以将其恢复。 任何人破坏脚本都可以受到惩罚。

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

另外,最近在Server Fault博客上有一篇关于这个的文章。 检查出来 。

在过去类似的情况下,我在$scm_of_choice创build了一个仓库,每个相关组( admin_scriptssql_scripts等)都有子目录。

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

因为你想跟踪的版本是很自然的使用版本控制系统 – 有几个 – svn,git等

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