我的公司正在开发一个开源项目。因此,我们必须考虑两种不同的构建脚本设置。第一个是本地构建,由我们以及社区使用。第二个构建在CI服务器上执行(我们使用团队城市)。
现在出现两个问题:
现在的情况:我们只将本地构建文件放在存储库中,并将合理的东西保存在父目录中。因此感觉有点笨拙(至少对我个人而言)。
我能想到的引用:在存储库中有一个 local.build 和 server.build 文件。然后在team city中设置一个包含密码和版本号的系统变量。现在我现在不知道团队城市如何处理属性的可见性。当然,我们不希望每个开发人员都可以访问或读取密码。
答案 0 :(得分:1)
我认为第二种选择你的直觉很好。您可以在源代码管理中包含这两个脚本并将变量传递给 server.build ,也可以将整个 server.build 进程移动到TeamCity构建配置中。
版本号: TC使用递增构建计数器处理版本号,您可以在其前面添加任意major.minor.etc。您可以在Build Number Format
下的常规设置页面上配置内部版本号的格式。在我们的团队中,我们有一个构建参数%version%
,我们用major.minor值填充它。然后我们的Build Number Format设置为%version%.{0}
,这给了我们major.minor.build。此组合值可通过%system.build.number%
变量获得。
敏感数据:您可以创建屏蔽敏感数据的构建参数。添加新参数,然后点击Edit
字段中的Spec
按钮。然后,您可以声明该参数应被视为密码(以及其他选项。)然后对参数进行加密和模糊处理。您可以像使用任何其他构建参数一样使用它。