2015-02-11 115 views
0

我们需要启用一些合作伙伴与我们一起工作一些java项目,并且我们需要为他们提供ant构建脚本。但是,如果可能的话,我们要加密ant构建文件(build.xml等),以便合作伙伴可以进行构建,但他们看不到实际的ant文件内容(我知道这很奇怪)。加密Ant构建文件

任何好建议表示赞赏。 (我们在Windows上)

回答

1

Ant本身不允许您加密构建脚本(也没有其他构建系统AFAIK)。你可以做的是围绕Ant创建一个自定义包装器,它将以加密的形式存储构建脚本,在执行过程中将其解密,并将解密的脚本传递给Ant API。然后,您可以将该包装物交付给您的合作伙伴。如果只有构建脚本中的某些特定数据是敏感的,那么您可能需要关注仅保护这些数据,使用其他方法)。

+0

感谢,但这是否在生成过程中的意思是,解密构建文件将提供给客户? – foolhunger 2015-02-11 11:26:15

+0

您不必将解密的文件写出到磁盘;你可以解密它并将它传递给内存中的Ant。 – yole 2015-02-11 11:27:44

+0

您可以使用Ant的ProjectHelper API来编写该包装程序 - ProjectHelper负责解析构建文件,因此您可以将其解密,然后委派给默认的ProjectHelper2。请参阅http://ant.apache.org/manual/projecthelper.html – 2015-02-11 12:15:11

0

音乐行业试图解决同样的问题。您想让某人阅读内容以播放音乐,但同时又因为害怕复制而想隐藏内容。不幸的是,这些是两个矛盾的要求......

我的建议是不隐藏你的构建逻辑。而是在构建属性中传递凭据。这些凭证在运行时指定,并且控制访问外部生成系统,如:

  • 源代码库
  • 二进制伪影储存库(用于存储的版本)

目的是,只有授权的构建系统可以做出正式的更改。

如果您绝对必须以某种形式的密码运送您的代码,然后在休息时加密该数据(切勿在源代码回收站中存储明文密码)。举一个例子: