加密 Ant 构建文件
Encrypt Ant build file
我们需要让一些合作伙伴能够与我们合作进行一些java项目,我们需要为他们提供ant构建脚本。
但是,如果可能的话,我们希望加密 ant 构建文件(build.xml 等),以便合作伙伴可以进行构建,但他们看不到实际的 ant 文件内容(我知道这很奇怪) .
如有任何好的建议,我们将不胜感激。 (我们在Windows框)
Ant 本身不允许您加密构建脚本(也不允许任何其他构建系统 AFAIK)。您可以做的是围绕 Ant 创建一个自定义包装器,它将以加密形式存储构建脚本,在执行期间对其进行解密,并将解密后的脚本传递给 Ant API。然后您可以将该包装器交付给您的合作伙伴。
(向某人提供您系统的源代码但加密构建脚本似乎是一件非常奇怪的事情。如果构建脚本中只有某些特定数据是敏感的,您可能只想专注于保护这个数据,使用其他方法。)
音乐产业试图解决同样的问题。你想让别人阅读内容以便播放音乐,但同时你又想隐藏内容以免被复制。不幸的是,这是两个相互矛盾的要求....
我的建议是不要隐藏您的构建逻辑。而是将凭据作为构建属性传递。这些凭据在 运行 时指定,并控制对外部构建系统的访问,例如:
- 源代码库
- 二进制工件存储库(用于存储版本)
objective是只有授权的构建系统才能进行官方修改。
如果您绝对必须将代码与某种形式的秘密一起发送,则对静态数据进行加密(切勿将明文秘密存储在源代码存储库中)。例如:
- How to use encrypted password in apache BasicDataSource?
我们需要让一些合作伙伴能够与我们合作进行一些java项目,我们需要为他们提供ant构建脚本。
但是,如果可能的话,我们希望加密 ant 构建文件(build.xml 等),以便合作伙伴可以进行构建,但他们看不到实际的 ant 文件内容(我知道这很奇怪) .
如有任何好的建议,我们将不胜感激。 (我们在Windows框)
Ant 本身不允许您加密构建脚本(也不允许任何其他构建系统 AFAIK)。您可以做的是围绕 Ant 创建一个自定义包装器,它将以加密形式存储构建脚本,在执行期间对其进行解密,并将解密后的脚本传递给 Ant API。然后您可以将该包装器交付给您的合作伙伴。
(向某人提供您系统的源代码但加密构建脚本似乎是一件非常奇怪的事情。如果构建脚本中只有某些特定数据是敏感的,您可能只想专注于保护这个数据,使用其他方法。)
音乐产业试图解决同样的问题。你想让别人阅读内容以便播放音乐,但同时你又想隐藏内容以免被复制。不幸的是,这是两个相互矛盾的要求....
我的建议是不要隐藏您的构建逻辑。而是将凭据作为构建属性传递。这些凭据在 运行 时指定,并控制对外部构建系统的访问,例如:
- 源代码库
- 二进制工件存储库(用于存储版本)
objective是只有授权的构建系统才能进行官方修改。
如果您绝对必须将代码与某种形式的秘密一起发送,则对静态数据进行加密(切勿将明文秘密存储在源代码存储库中)。例如:
- How to use encrypted password in apache BasicDataSource?