我想知道Nexus存储库管理器是否包含像Artifactory这样的许可证管理器(使用此插件:http://wiki.jfrog.org/confluence/display/RTF/License+Control).
如果通过插件无法在Nexus中执行此操作,您如何管理项目依赖项的许可证(使用maven)?
例如,对于商业项目,我不能将GPL库包含到最终工件(.jar,.war等)中.
我有一个Eclipse RCP应用程序,它使用Tycho插件与Maven构建.有一个主POM包含所有插件和功能作为模块.
如果我使用Maven 安装主POM,则生成的反应器构建工作正常.所有模块都已构建,安装成功.
但是,如果我单独构建一个Eclipse 插件,则无法解析其与应用程序其他插件的依赖关系.
对第三方库(例如Eclipse平台)的依赖似乎工作正常.我们的应用程序的Eclipse插件只有这种类型的依赖项才能成功构建.
控制台输出如下:
[INFO] Resolving dependencies of MavenProject: com.mycompany.myproduct:com.mycompany.myproduct.gui.editors:1.8.15-SNAPSHOT @ /<path>/com.mycompany.myproduct.gui.editors/pom.xml
[INFO] Cannot complete the request. Generating details.
[INFO] Cannot complete the request. Generating details.
[INFO] {osgi.ws=gtk, osgi.os=linux, osgi.arch=x86, org.eclipse.update.install.features=true}
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: com.mycompany.myproduct.gui.editors 1.8.15.qualifier
[ERROR] Missing requirement: com.mycompany.myproduct.gui.editors 1.8.15.qualifier requires 'bundle com.mycompany.myproduct.preferences 1.8.15' but it could not be found
[ERROR]
[ERROR] Internal error: …
Run Code Online (Sandbox Code Playgroud) 我有一个Android项目正在使用大于3.0的gradle版本进行更新.以前,gradle插件是从jcenter()中检索出来的,但现在Google已将其移动到自己的存储库中.
我想将Google maven服务器设置为Artifactory中的远程服务器,但似乎我的Android项目似乎没有在我设置的google远程服务器上找到它.
我需要它以这种特定方式设置,因为公司希望受控构建能够以离线方式重现,只能到达内部网络上的服务器而不是网络上的服务器.因此,根据公司的SOP,未来去google maven服务器是不够的.
我将远程设置为:
URL: https://maven.google.com
Repository Layout: maven-2-default
Repository Layout Mapping: maven-2-default
Run Code Online (Sandbox Code Playgroud)
我是否需要使用最新版本的神器,因为我目前正在使用4.9.0.我必须通过公司的IT小组来升级版本,这就是为什么我没有把它作为我的第一个选择.
谢谢!
我尝试通过运行以下命令从 Artifactory 安装一个软件包
pip install package_name -i http://artifactory.XYZ.com/artifactory/api/pypi/XYZ-py-local/simple --trusted-host artifactory.XYZ.com
Run Code Online (Sandbox Code Playgroud)
该包下载正常。然而,当涉及到查找依赖项时,它会抛出异常,因为我在 Artifactory 中没有 PyPI 远程存储库。
是否可以将 pip 指向 PyPI 以获得特定依赖项?
我使用 apyproject.toml
来存储需求,因为我使用诗歌顶部处理依赖项并构建包。
我正在使用poetry
版本 1.1.6 来构建我的项目并将其发布到内部工件。
我提供了以下命令并配置了存储库。
poetry config repositories.myrepo https://my-internal-artifactory/api/pypi/python/simple
Run Code Online (Sandbox Code Playgroud)
如何为内部存储库配置 API 令牌?
我试过这个
poetry config http-basic.myrepo mytoken
Run Code Online (Sandbox Code Playgroud)
假设我提供了用户名和密码,它仍然提示输入密码。然而,我所拥有的只是一个令牌。我没有用户名和密码。
该文档似乎没有为使用令牌的私有存储库提供足够的信息,
注意:在诗歌之前,我们使用curl 使用令牌上传到artificialory。
我们如何使用诗歌中的令牌发布到私人存储库?有可能做到这一点吗?任何帮助将不胜感激。
我正在尝试使用 Node.js 项目运行作业。步骤之一是rtnpminstall
运行npm install
命令。该rtnpminstall
命令由 Jenkins 上的 Artifactory 插件运行。错误说。
npm ERR! code E403
npm ERR! 403 403 Forbidden - GET
https://<artifactoryurl>/artifactory/api/npm/<npm registry>/<dependency name>
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.
Run Code Online (Sandbox Code Playgroud)
但是当我使用 运行时npm install -g
,效果很好。
当我可以单击詹金斯作业日志中的依赖项链接时,它下载得很好。
我想看看可能是什么问题,因为我们不想使用 -g 选项。
我的猜测是,詹金斯代理上的项目文件夹没有写入权限。
我在 Maven 3.2.1 中使用 JFrog artifactory 3.2.1.1。
我上传了一个已构建的项目,该项目存在于存储库浏览器下的 libs-snapshot-local 中。如果我浏览到 com.foo.project,我将在 artifactory 浏览器中看到 project-1.0-20151113.133436-1.jar 文件和 pom 和元数据。
甚至访问http://example.com:8081/artifactory/webapp/browserepo.html?42&pathId=libs-snapshot-local:com/foo/project/1.0-SNAPSHOT/project-1.0-20151113.133436-1.jar向我展示了里面的jar文件。
我使用了 artifactory 中的 settings.xml 生成器来生成<repository>
我在以下 pom.xml 中使用的标签:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.bar</groupId>
<artifactId>exampleApp</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>exampleApp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://example.foo:8081/artifactory/libs-snapshot</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.foo</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<type>jar</type>
<includes>myFolder</includes>
<outputDirectory>${project.build.directory}/newFolder/js/gmoketest</outputDirectory>
</artifactItem> …
Run Code Online (Sandbox Code Playgroud) 迁移步骤从nexus到Artifactory(本地,远程,虚拟)
- >手动步骤还是自动化?
我的公司对 Conan、Artifactory 和 Jenkins 很陌生,但我们在几个月前设置了一些测试管道脚本,并利用 Jenkins Artifactory 插件将一些 Conan 包发布到我们的 Artifactory 服务器。这些脚本现在因 SSL 认证失败而失败。
我们正在使用以下软件包:
当涉及到 Artifactory 配置时,我们的 pipline 脚本中的“打包和发布”阶段看起来与此类似:
stage('Package and Publish') {
def artifactory_name = "MyCompanyArtifactory"
def artifactory_repo = "conan-local"
def server = Artifactory.server artifactory_name
def client = Artifactory.newConanClient()
def serverName = client.remote.add server: server, repo: artifactory_repo
client.run(command: "export-pkg . ci-user/stable -s os=Linux -s arch=x86_64 -s build_type=Debug")
client.run(command: "export-pkg . ci-user/stable -s os=Linux -s arch=x86_64 -s build_type=Release") …
Run Code Online (Sandbox Code Playgroud) 我有同时创建 conda 和 pip 包的用户 - 我对此无法控制
我使用artifactory来托管私有conda和pip存储库,例如,这就是私有pip存储库的工作原理: https ://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories
有时 conda 环境或包需要一个私有 pip 包。如何配置 conda 以从我的私人存储库获取我的私人 pip 包?
我还没有找到这方面的文档。我希望这对用户尽可能透明 - 所以他们设置一次配置,在他们的 conda 环境中,他们可以轻松指定一个私有 pip 包,它就可以工作