目前我有一个Maven2项目,在你运行时构建一个JAR:
mvn clean package
Run Code Online (Sandbox Code Playgroud)
我现在需要调整pom.xml
以将此JAR(myapp.jar
)发布到运行于的运行的Artifactory服务器:
http://myartifactory/artifactory/simple/myorg/myapp/0.1
Run Code Online (Sandbox Code Playgroud)
我尝试向我添加一个<repositories>
元素,pom.xml
但是没有使用此配置发布任何内容:
<repositories>
<repository>
<id>myartifactory</id>
<url>http://myartifactory/artifactory/simple/</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
关于如何让出版工作的任何想法?为简单起见,假装此Artifactory存储库经过身份验证,以接受来自具有username=foo
和的用户的发布/写入password=bar
.
我可以使用Pip从Artifactory中提取Python工件吗?
我看到我可以使用Python在Artifactory中放置工件,但是如果我想使用pip从中提取工件呢?
我想永久链接Artifactory中工件的最新快照版本.如果我们使用1.0-SNAPSHOT,我想要一个下载最新1.0-SNAPSHOT JAR的URL.我可以通过在我们的服务器上找到工件找到最新的工件http://hostname/artifactory/libs-snapshot/groupId/artifactId/1.0-SNAPSHOT/
.除了检查时间戳之外,我可以通过打开maven-metadata.xml并在同一目录中打开带有JAR的元数据/版本控制/快照时间戳和buildNumber来确定哪一个是最新的.这可以编写脚本,但理想情况下Artifactory已经有办法以这种方式构造永久链接.Artifactory是否提供这样的URL?
这是我的build.gradle
:
buildscript {
repositories {
maven {
url 'http://localhost:8081/artifactory/plugins-release'
credentials {
username = "admin"
password = "password"
}
name = "maven-main-cache"
}
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1"
}
}
apply plugin: 'groovy'
apply plugin: 'maven'
apply plugin: 'codenarc'
apply plugin: 'maven-publish'
apply plugin: "com.jfrog.artifactory"
version="0.0.2"
group = "mylib"
repositories {
mavenCentral()
add buildscript.repositories.getByName("maven-main-cache")
maven {
url "http://localhost:8081/artifactory/myapp-snapshots"
}
}
dependencies {
compile 'commons-validator:commons-validator:1.4.0'
testCompile 'junit:junit:4.11'
}
artifactory {
contextUrl = "http://localhost:8081/artifactory"
publish {
repository {
repoKey = 'myorg-snapshots' …
Run Code Online (Sandbox Code Playgroud) 我知道在开发过程中,构建工件会放在快照存储库中.
当产品需要进行QA测试时,团队是否会从快照存储库中提取?或者他们是否进行完整构建,部署到发布存储库,然后从那里将其提供给QA?
此外,如果我的快照存储库包含每个构建的所有构建工件,那么这通常如何清理?我可以看到从构建服务器保留最后5个构建,但不是每个构建服务器.如果有帮助,我正在使用Artifactory.
continuous-integration ivy artifactory continuous-deployment
我正在使用Gradle和Artifactory,我使用的示例在此示例站点中无法正常工作我有以下错误消息:
Extension of type 'PublishingExtension' does not exist. Currently registered extension types: [DefaultExtraPropert iesExtension, DefaultArtifactPublicationSet_Decorated, ReportingExtension_Decorated, DefaultProjectComponentContai ner_Decorated, DefaultProjectSourceSet_Decorated, DefaultBinaryContainer_Decorated]
Run Code Online (Sandbox Code Playgroud)
我在这行中有错误:
defaults{
publications ('mavenJava')
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题,我长期坚持这个问题.
在查看JBaruch建议的链接并与代码进行比较后,我更改了插件,但仍然是同样的问题.也许我在混淆什么?(这就是我发布完整源代码的原因)
buildscript {
repositories {
maven {
url 'http://.../artifactory/libs-release'
credentials {
username = "${artifactory_user}"
password = "${artifactory_password}"
}
name = "maven-main-cache"
}
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1"
}
}
apply plugin: 'scala'
apply plugin: 'maven-publish'
apply plugin: "com.jfrog.artifactory"
version = '1.0.0-SNAPSHOT'
group = 'com.buransky'
repositories {
add buildscript.repositories.getByName("maven-main-cache")
}
dependencies {
compile …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种简单而干净的方法来将使用GitLab CI构建的人工制品发布到Artifactory上.
我能够发现https://gitlab.com/gitlab-org/omnibus/blob/af8af9552966348a15dc1bf488efb29a8ca27111/lib/omnibus/publishers/artifactory_publisher.rb但是我找不到任何关于我应该如何配置它的文档这行得通.
注意:我正在寻找一种gitlab_ci.yaml方法,而不是在外部实现它.
目前我尝试配置Jenkins,所以我可以自动执行发布版本.它应该将版本号从SNAPSHOT更改为发布版本,并执行所有SVN提交.完成此操作后,它应该将其切换回新的SNAPSHOT版本并提交它.在我从maven切换到gradle之前,相同的插件正常工作.
我已经创建了一个正常运行的gradle构建.它正在从gradle.properties文件中的属性"version"读取版本.此版本是gradle构建中使用的版本.也可以运行"artifactoryPublish"将JAR发布到我的神器中.
问题:
当我打开对话框"Artifactory Pro Release Staging"(http://imgur.com/T44BtQB)时,它没有填写"发布版本","下一个开发版本"字段,也没有填写其他字段.如果我手工填写字段,一切正常.同样,gradle.properties中的版本也会更改并正确检入.
我怎么能解决这个问题?
使用版本:
谢谢!
我有一个使用Jenkins构建的Java项目,使用Jenkins CI服务器,我想使用与Maven兼容的工件发布到Artifactory服务器.该项目正在使用Git.如果可能的话,我还想使用Jenkins的发布管理功能.
这非常令人困惑.至少有五个插件,具有很多重叠的冗余功能.一些插件似乎取代了其他插件.有些插件似乎需要其他插件.
仅供参考,五个相关的插件似乎是:
1)Jenkins Artifactory插件 https://wiki.jenkins-ci.org/display/JENKINS/Artifactory+Plugin
2)Gradle"maven"插件 http://www.gradle.org/docs/current/userguide/maven_plugin.html
3)Gradle"maven-publish"插件 http://www.gradle.org/docs/current/userguide/publishing_maven.html
4)Gradle"artifactory"插件 https://www.jfrog.com/confluence/display/RTF/Gradle+Artifactory+Plugin
5)Gradle"artifactory-publish"插件 http://www.jfrog.com/confluence/display/RTF/Gradle+1.6+Publishing+Artifactory+Plugin
设置它的最佳方法是什么?
如果我使用Jenkins Artifactory插件没有提到任何其他插件,我收到一个错误:
No publish configurations specified for project ':' and the default 'archives' configuration does not exist.
Cannot publish pom for project ':my-great-app' since it does not contain the Maven plugin install task and task ':my-great-app:artifactoryPublish' does not specify a custom pom path.
Run Code Online (Sandbox Code Playgroud)
我假设我需要使用maven
或maven-publish
在build.gradle中?
maven-publish
被标记为maven
插件的孵化后继者.它有多好?它有多稳定?
如何使用Gradle Artifactory插件与标准maven发布插件相比使用Jenkins插件?
所以基本上我试图使用npm install 从https://registry.npmjs.org/下载软件包,但我在代理下.
我已经设置了一个远程存储库,它将使用artifactory命中(在链接之上)和缓存,这样我就可以在本地提取,但它似乎不起作用.
遵循以下指示:http://www.jfrog.com/confluence/display/RTF/Npm+Repositories
其他人遇到代理困难吗?我已经看到很多关于更改配置设置的帖子,但这不是我需要的,我必须遵循artifactory来获得我需要的东西,并且我已经相应地改变了我的配置设置,如何神秘建议,即npm config set registry
谢谢!