如何构建和维护个人的跨平台工具包

80次阅读
没有评论

问题描述

是一名项目经理/业务分析师,多次在不同公司和不同机器上工作,希望能够快速地使用一套常用的应用程序和工具。他希望能够将这些应用程序、配置文件和其他杂项文件组合在一起,以便在不同的环境中快速部署和使用。然而,由于公司的防火墙和限制性IT政策,他经常需要花费大量时间来获取内部许可证、下载每个工具、保持工具的最新版本、维护和构建相关的配置文件等。用户尝试过使用GitHub仓库来构建和安装所有的工具,并通过批处理脚本、符号链接和一些配置文件调整来实现“可移植性”,然后再上传到其他机器上。但这种方法存在一些问题,比如复杂性、跨平台性差(目前仅支持Windows)、处理通过git克隆安装的应用程序、处理“可移植”版本的运行时依赖等。用户还考虑过使用持续集成工具(如Travis-CI和AppVeyor),但担心这样做会增加更多的复杂性,并且需要学习持续集成的知识和维护构建脚本。用户希望得到一个简单的解决方案,以满足他的需求。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

对于个人使用,你可以考虑使用GitHub仓库来管理你的工具包。你可以将所有的启动脚本和安装脚本放在仓库中,这样可以方便地下载和分发你所需的脚本,而不受防火墙和限制性IT政策的影响。这种方法可以作为一个便携的方式,让你在没有防火墙和限制性IT政策的环境中快速获取所需的脚本。

方案2

对于组织内部使用,你可以考虑以下折中方案:创建一台专门用于下载和存储所需工具的机器(可以是裸机、虚拟机等)。这台机器需要满足以下条件:
1. 可以从某个来源(最好是开放的互联网或白名单地址)下载工具(文件、应用程序等)。
2. 可以将工具存储在一个中央位置。
3. 不能访问内部基础设施。
4. 具有审计功能,以跟踪下载/存储的任何工具。
通过这种设置,你可以在服务器上下载最新版本的Python(通过使用凭据、API等登录),并将其存储在一个中央位置,以供其他服务器下载和安装。你可以以多种方式存储你的工具(工具库、云存储、文件服务器等),但只有这台服务器能够上传到你的存储位置。你的IT团队甚至可以设置警报,当这台服务器下载新的工具或上传到你的存储位置时,他们可以检查它。
这种方法可以向你的IT部门展示以下几点:
1. 这些工具对你和你的团队来说非常重要,你愿意花费额外的精力建立一个更安全、更可追踪的方法来获取它们。
2. 你为IT部门提供了一种自动化的方式来跟踪下载工具的人和时间,以防工具是恶意的,并且需要删除并追踪到源头(这可能是他们以前没有的)。
3. 你提出的方法不仅使你更容易访问你需要提高生产力的工具,而且你还提出了一些帮助IT团队提高生产力的方法,他们不必管理所有下载工具的方面。

方案3

如果你不想使用持续集成工具,你可以考虑使用其他工具来管理你的工具包。有一些工具可以帮助你自动化下载、安装和更新你的工具。以下是一些可能的工具:
– Chocolatey:适用于Windows的包管理器,可以帮助你快速安装和更新各种应用程序和工具。
– Homebrew:适用于macOS的包管理器,可以帮助你快速安装和更新各种应用程序和工具。
– Ansible:一个自动化工具,可以帮助你在多个机器上快速部署和配置应用程序和工具。
这些工具可以根据你的需求选择使用,它们都提供了简单的命令行界面和文档,以帮助你快速上手。

方案4

如果你愿意投入一些时间和精力,持续集成工具可能是一个不错的选择。持续集成工具可以帮助你自动化构建、测试和部署你的应用程序和工具。以下是一些常用的持续集成工具:
– Jenkins:一个功能强大的开源持续集成工具,可以帮助你构建、测试和部署你的应用程序和工具。
– Travis CI:一个流行的持续集成工具,可以帮助你在云端快速构建和测试你的应用程序和工具。
– CircleCI:一个易于使用的持续集成工具,可以帮助你快速构建和测试你的应用程序和工具。
这些工具都有详细的文档和社区支持,可以帮助你学习和使用它们。
无论你选择哪种方案,都需要根据你的需求和环境进行调整和优化。希望这些解决方案对你有所帮助!

正文完