制品库支持什么类型?
支持包括 Docker、Maven、npm、Genric、Pypi、Helm 等常见制品库类型。
制品库的层级关系是怎样的?
制品库的层级关系为:仓库 > 包 > 版本,每个层级描述如下:
仓库:用于管理不同类型的仓库和仓库下的包资源,可以设置仓库对外的访问权限。
包:构建产物对外提供访问的基础单元,用于介绍当前构建产物的用途和使用指引。
版本:列出某个包下的所有构建产物,详细记录了每次构建产物的版本迭代更新变化。
制品库对外的权限是怎样的?
项目内:本项目成员可读,写。其他成员不可读,写。
团队内:本项目成员可读,写。企业内其他成员可读不可写。其他成员不可读,写。
公开:本项目成员可读,写。非本项目成员和匿名成员可读不可写。
制品库包名称的规则是什么?
包名仅支持1 - 31位英文、数字、下划线(_)、中划线(-)、点(.)的组合。不可与本仓库其他包名称重复,可以其他仓库内包名重复;
包的设置项包含什么?
设置项包含:许可证、包描述、成熟度、Web 站点 URL、问题跟踪 URL、版本控制 URL 等。
Maven 相关问题
Maven 的 settings.xml 配置文件在哪?
在生成 Maven 类型制品时,您需要配置您的 settings 文件,通常这个文件存放的位置有如下几个地方,您都可以按需使用,只不过配置生效的范围和优先级不同:
1. 全局配置:${M2_HOME}/conf/settings.xml
如果您不记得 Maven 的安装目录 ${M2_HOME}
,您可以在终端中执行 echo ${M2_HOME}
或者 mvn -version
就可以看到 Maven home 的路径。
2. 用户配置:${user.home}/.m2/settings.xml
您可以通过 echo 环境变量的方式找到该文件目录,有时候这个目录下是没有 settings.xml 文件,您可以去全部配置里拷贝一份 settings.xml 再进行修改。
3. 指定路径下的 settings.xml
mvn deploy --settings settings.xml
说明:
在终端执行 mvn 相关命令时,settings.xml 配置生效的优先级:指定路径 > 用户配置 > 全局配置。
除了在终端当中执行 mvn 命令,有时候您在 Eclipse 等 IDE 中也会用 Maven,该怎么修改 settings.xml 文件的配置?
以 Eclipse 为例(其它类型 IDE 网上也有丰富的资料供参考):
1. 单击Preferences进入偏好设置。
2. 在Maven > User Settings当中您就可以看到您使用的配置文件路径,并且修改配置文件。
npm 相关问题
如何将 npm @scope 指向 CODING 私有制品库?
1. 可以通过配置 .npmrc 来指定 @scope 的 registry。
例如: 有一个 npm 包,位置信息如下:
企业: my-team
项目: my-project
制品仓库: my-npm-repo
名: @my-scope/my-pkg 。
可以通过配置 .npmrc
,让 package.json 中的 @my-scope/my-pkg
指向该链接地址:
https://my-team-npm.pkg.coding.net/my-project/my-npm-repo/
2. 直接将 npm 包的 registry 指向 CODING 制品库。
直接单击 npm 制品库指引页面中的使用访问令牌生成配置生成 .npmrc。
请妥善保管生成的配置: registry=https://my-team-npm.pkg.coding.net/my-project/my-npm-repo/
always-auth=true
//my-team-npm.pkg.coding.net/my-project/my-npm-repo/:username=xxxxxx
//my-team-npm.pkg.coding.net/my-project/my-npm-repo/:_password=xxxxx
//my-team-npm.pkg.coding.net/my-project/my-npm-repo/:email=xxxxx
由于 CODING 的 npm 制品库支持代理功能,可以直接将 npm registry 设置为 CODING 制品库,公共制品也可以被拉取到。
权限相关问题
如何拉取其它 CODING 项目制品库的制品?
您可以通过项目令牌的方式拉取其它 CODING 项目制品库的制品。
为了方便您区分即将要操作的两个不同项目,我们统一将:
需要被拉取制品的制品库所在项目称为 “项目 A”
执行拉取的项目称为 “项目 B”
步骤一:在项目 A 内创建项目令牌
1. 进入项目 A项目设置 > 开发者选项 > 项目令牌,单击新建项目令牌。
步骤二:在项目 B 中将刚才创建的项目 A 项目令牌作为用户名 + 密码拉取制品
1. 根据您的制品类型,配置认证信息。
2. 回到刚才创建的项目 A 项目令牌页面,单击 “查看密码”。
3. 在项目 B 制品库配置认证信息时,将项目令牌用户名 + 项目令牌密码(token)作为用户名 + 密码填入信息。
4. 正确填入信息后,即可拉取成功其他 CODING 项目的制品库。
为什么制品仓库会出现没有主动推送的依赖包?
这是由于该制品仓库开启了制品代理功能,当制品库代理功能开启时,制品仓库会作为统一入口帮助您管理依赖的第三方制品,因此这些依赖包会出现在制品仓库。您可以在 CODING 制品库内追踪该依赖包的团队内成员的使用情况,也可以通过 CODING 制品扫描统一检测该依赖包的安全漏洞,方便您的团队依赖制品审计。 镜像相关问题
为什么无法从制品库拉取依赖包?
使用 mirrors 参数配置镜像源加速后,无法从制品库拉取依赖包进行构建,问题截图如下:
导致此问题的原因可能是由于 <mirror>
配置中的 <mirrorOf>*</mirrorof>
将所有流量切换到了镜像源中拉取,而镜像源中并没有保存在 CODING 制品仓库中的依赖包。此问题有两个解决方案。 方法一:修改参数配置,仅允许非 CODING 制品仓库来源的制品从镜像源拉取。
<settings>
<!-- profiles 配置根据 CODING 仓库中的拉取指引配置 -->
<profiles>
<profile>
<id>Repository Proxy</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>coding-maven-repo-id</id>
<name>coding-maven-repo-name</name>
<url>https://coding-maven-repo-url</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<mirrors>
<mirror>
<id>nexus-tencentyun</id>
<!-- 非 coding-maven-repo-id 来源的制品才会从镜像源中拉取制品 -->
<mirrorOf>!coding-maven-repo-id</mirrorOf>
<name>Nexus tencentyun</name>
<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>
</mirrors>
</settings>
方法二:删除 <mirrors>
镜像源配置,打开 CODING 制品仓库代理并指向镜像源。此方案会将所有开源依赖包代理并保存至 CODING 制品仓库。
<settings>
<!-- profiles 配置根据 CODING 仓库中的拉取指引配置 -->
<profiles>
<profile>
<id>Repository Proxy</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>coding-maven-repo-id</id>
<name>coding-maven-repo-name</name>
<url>https://coding-maven-repo-url</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>
注意:
持续集成中的镜像源加速配置写在了构建环境全局配置 ${M2_HOME}/conf/settings.xml
中,需要使用项目下 settings.xml
配置覆盖;
mvn install -s "./settings.xml"
本页内容是否解决了您的问题?