栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Ivy和私人公司存储库时,我应该将凭证放在哪里?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Ivy和私人公司存储库时,我应该将凭证放在哪里?

将设置文件与控制Nexus凭据的属性一起使用:

<ivysettings>    <property name="repo.host" value="default.mycompany.com" override="false"/>    <property name="repo.realm" value="Sonatype Nexus Repository Manager" override="false"/>    <property name="repo.user" value="deployment"  override="false"/>    <property name="repo.pass" value="deployment123"  override="false"/>    <credentials host="${repo.host}" realm="${repo.realm}" username="${repo.user}" passwd="${repo.pass}"/>    ..    ..</ivysettings>

运行构建时,您可以指定真实的用户名和密码:

ant -Drepo.user=mark -Drepo.pass=s3Cret

更新/增强

将密码存储为文件系统上的属性需要加密。

Jasypt有一个命令行程序,可以生成加密的字符串:

$ encrypt.sh verbose=0 password=123 input=s3CrethXiMYkpsPY7j3aIh/2/vfQ==

可以将其保存在构建的属性文件中:

username=billpassword=ENC(hXiMYkpsPY7j3aIh/2/vfQ==)

以下ANT目标将解密所有加密的ANT属性:

<target name="decrypt">    <taskdef name="groovy" classname="org.prehaus.groovy.ant.Groovy" classpathref="build.path"/>    <groovy>    import org.jasypt.properties.EncryptableProperties    import org.jasypt.encryption.pbe.StandardPBEStringEncryptor    StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor()    encryptor.setPassword(properties["master.pass"])    Properties props = new EncryptableProperties((Properties)properties, encryptor);    props.propertyNames().each {        properties[it] = props.getProperty(it)    }    </groovy></target>

当然,要使此工作有效,需要在构建过程中指定用于加密属性的密码。

ant -Dmaster.pass=123

这意味着该解决方案仅适用于隐藏静态数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595298.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号