基本上,我无法连接到我尝试使用最新的 Nexus 预览版制作的 docker 注册表。首先,我在运行 Ubuntu 14.04 trusty 的 MS Azure 云服务器上安装了 Sonotype Nexus 3 Preview。让我们称这个位置
my-azure-site.cloudapp.net:8443/nexus进入 Nexus UI。我从头到尾都在使用本指南 - https://books.sonatype.com/nexus-book/3.0/reference/index.html
所以我知道连接到远程 Docker 存储库的唯一方法是通过 SSL,所以我在 nexus 中启用了 HTTPS,如使用 8443 端口所示。然后,我创建了一个名为 docker-hub 的 Docker 代理存储库,以便能够从 Docker Central Hub 中提取图像,如本指南第 8.3 节所述。Nexus 显示 repo 的 URL 为
https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-hub/
然后我创建了一个名为 docker-mySoftware 的私有托管存储库,其 HTTPS docker 连接器端口为18444,如指南第 8.4 节所述,Nexus 将 URL 显示为
https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-mySoftware/
然后我创建了一个名为 docker-all 的组 repo,其中包含上述 2 和 HTTPS docker 连接器端口18443,如指南第 8.5 节所述,Nexus 将 URL 显示为
https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-all/
起初,当我尝试按照第 8.7 …
我在Nexus中添加了一个代理存储库。当我update now
进去时Routing
,它失败了。我添加的回购网址是https://raw.githubusercontent.com/dianping/cat/mvn-repo
我可以访问该网址
我无法访问该网址
https://raw.githubusercontent.com/dianping/cat/mvn-repo
响应400:无效的请求
所以。这是来自更新的仓库服务器阻止关系。
如果我不在maven设置中使用mirror,则Maven更新将正常运行。
同时,当我使用nexus公共存储库组作为我的镜像时(我还在公共存储库组中添加了代理存储库),它只是报告 Failure to find org.unidal.maven.plugins:codegen-maven-plugin:jar:2.3.2
in http://172.xxx/nexus/content/groups/public
我怎么解决这个问题?
我想Maven解决流程是这样的:
像https://raw.githubusercontent.com/dianping/cat/mvn-repo/org/unidal/maven/plugins/codegen/2.3.2/codegen-2.3.2.pom这样的完整URL 都可以访问,仓库管理器如果我的猜测是正确的,则可以获取特定的pom网址。
我想知道:与maven central不同,您可以访问其索引或称为文件树,而cat.repo
您只能访问其文件,而不能访问其目录。那么Maven的区别是什么?如何处理呢?
编辑
因为我已经成功更新了不使用<mirrorOf>*</mirrorOf>
。我的本地存储库已经在Nexus中下载了这些缺少的插件。因此,我按照Maven中不使用本地仓库的提示进行操作,并且丢失的插件不会再次导致错误,但是在链接中再次找不到另一个工件。
我也做过Maven缺少的工件显示,
删除本地内部的maven-metadata * .xml和_ *。repositories
还是行不通。
我无法启动 Sonatype Nexus Repository Manager 3.0.0 Milestone 7 Release (nexus-3.0.0-b2016011501)。解压缩 Windows 存档后:
然后,nexus.exe /run
ERROR: Bundle com.sun.jna [5] Error starting mvn:net.java.dev.jna/jna/4.0.0 (org.osgi.framework.BundleException: Unable to resolve com.sun.jna [5](R 5.0): missing requirement [com.sun.jna [5](R 5.0)] osgi.native; (|(&(osgi.native.osname~=win32)(osgi.native.processor~=x86))(&
... ... ... ...
(osgi.native.processor~=ppc))))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2117)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud) 发布后,我想知道发布的工件的 url 是什么(在其他 gradle 任务中使用它进行自动化部署)。
有没有办法捕获这个生成的网址?
在发布我们的插件时,我们得到了这个
[info] Done packaging.
[trace] Stack trace suppressed: run last *:publish for the full output.
[error] (*:publish) java.io.IOException: PUT operation to URL https://nexus.mycompany.com/repository/maven-snapshots/com/foo/foo-sbt-plugin_2.10_0.13/1.0.0-SNAPSHOT/foo-sbt-plugin-1.0.0-SNAPSHOT.pom failed with status code 400: Invalid path for a Maven 2 repository
Run Code Online (Sandbox Code Playgroud)
我们使用设置插件
sbtPlugin := true
publishMavenStyle := true
Run Code Online (Sandbox Code Playgroud) 什么是 gradle 配置以确保 kotlin 源包含在源分类器 jar 中以部署在 maven 存储库中?
我拥有Nexusv3.6,并创建了一个Docker存储库docker-repo
(类型:托管)和一个Docker组docker-group
(类型:group)。我都启用了HTTPS连接器:
docker-repo
在港口8101
和docker-group
在港口8102
。
我加docker-repo
了docker-group
。
现在,我可以docker-repo
像这样直接将图像推入/拉出:
docker push myhost.com:8101/mymimage:latest
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试像这样推动该小组时:
docker push myhost.com:8102/docker-repo/mymimage:latest
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息: error parsing HTTP 404 response body: invalid character '<' looking for beginning of value
任何想法在这里有什么问题?
有没有办法按日期降序检索人工制品?
我目前有以下脚本作为示例:
import org.sonatype.nexus.repository.storage.Asset
import org.sonatype.nexus.repository.storage.Query
import org.sonatype.nexus.repository.storage.StorageFacet
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
def request = new JsonSlurper().parseText(args)
assert request.groupId: 'groupId parameter is required'
assert request.repoName: 'repoName parameter is required'
assert request.startDate: 'startDate parameter is required, format: yyyy-mm-dd'
log.info("Gathering Asset list for repository: ${request.repoName} as of startDate: ${request.startDate}")
def repo = repository.repositoryManager.get(request.repoName)
StorageFacet storageFacet = repo.facet(StorageFacet)
def tx = storageFacet.txSupplier().get()
tx.begin()
Iterable<Asset> assets = tx.
findAssets(Query.builder()
.where('group = ').param(request.groupId)
.and('last_updated > ').param(request.startDate)
.build(), [repo])
def urls = assets.collect { "/repository/${repo.name}/${it.name()}" } …
Run Code Online (Sandbox Code Playgroud) 我在 nexus 中为 apache 库创建了一个新闻代理 maven 2:
然后我改变了我的 pom.xml 如下:
<repositories>
<repository>
<id>maven-public</id>
<url>http://nexus.unc.nc/repository/maven-public/</url>
</repository>
<repository>
<id>maven-releases</id>
<url>http://nexus.unc.nc/repository/maven-releases/</url>
</repository>
<repository>
<id>maven-apache</id>
<url>http://nexus.unc.nc/repository/maven-apache/</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
但它仍然从互联网下载 apache lib:
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ importparcoursup ---
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom (998 B at 2.0 kB/s)
Run Code Online (Sandbox Code Playgroud)
而其他库是从关系中获取的:
Downloading from maven-public: http://nexus.unc.nc/repository/maven-public/org/springframework/boot/spring-boot-starter-mail/2.0.6.RELEASE/spring-boot-starter-mail-2.0.6.RELEASE.pom
Run Code Online (Sandbox Code Playgroud)
有人可以在这里帮助我吗?
我想知道是否有办法从 nexus 存储库中删除许多项目。我有一些RAW
类型存储库,其中包含一些 Web 应用程序版本(简单的 tar.bz2 二进制文件):
在一些存储库中有很多。我想释放一些磁盘空间。我可以删除单个文件:
但我没有看到批量删除选项。
对我来说最好的解决方案是自动或手动清理旧文件。免费版可以吗?如果是 - 如何?
我Cleanup Policies
在主菜单中没有看到:
Nexus Repository ManagerOSS 3.3.2-02