当前位置: 首页 > 知识库问答 >
问题:

如何使用Gradle版本1.12将本地(.war.jar)文件发布(部署)到Artifactory?

胡昊
2023-03-14

如何使用Gradle版本1.12将本地(.war.jar)文件发布(部署)到Artifactory?

亲爱的所有

我很难做到这一点,因为Gradle的旧版本我无法更改,因为规范,如果有人能帮我处理这段代码,我将非常感激。

到目前为止我所做的:

   buildscript {
        repositories {
            maven { url 'http://jcenter.bintray.com' }
        }
        dependencies {
            classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.0.1')
        }
    }
    apply plugin: com.jfrog.artifactory-upload'
    artifactory {
        contextUrl = 'http://my.domain.com/artifactory/'  
        resolve {
            repository {
                repoKey = 'remote-deploy'
                maven = true
            }
        }
    }

NOTE: I don't know how to set my the local files to be uploaded but I read that I can use something like this "$rootDir\build\lib\buildProject.war"
With the suggestions I made this changes in my code:

应用插件:“com.jfrog.artifactory上传”应用插件:“maven发布”应用插件:“maven”应用插件:“分发”

buildscript {
    repositories {
        maven { url 'http://jcenter.bintray.com' }
    }
    dependencies {
        classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.2.5')
    }
    configurations {
        published
    }
}

artifactoryPublish.skip = true
task sourceJar(type: Jar){
    from file("build/libs/"+project.archivesBaseName2+".jar")
    classifier = 'sources'
}
artifacts{
    archives sourceJar
    published sourceJar
}
artifactory {
    contextUrl = 'http://www site com/artifactory/'
    publish {
        contextUrl = 'http://www site com/artifactory/'   //The base Artifactory URL for the publisher
        //A closure defining publishing information
        repository {
            repoKey = 'jarDeploy'
            username = 'user'
            password = 'pass'
        }
        defaults{
        //This closure defines defaults for all 'artifactoryPublish' tasks of all projects the plugin is applied to

            properties{
                //Optional closure to attach properties to artifacts based on a list of artifact patterns per project publication
                mavenJava 'org.jfrog:*:*:*@*', key1: 'val1'

                publicationName 'group:module:version:classifier@type', key1:'value1', key2:'value2'
            }
            publishBuildInfo = true   //Publish build-info to Artifactory (true by default)
            publishArtifacts = true   //Publish artifacts to Artifactory (true by default)
            publishPom = true   //Publish generated POM files to Artifactory (true by default).
            publishIvy = false   //Publish generated Ivy descriptor files to Artifactory (true by default).
        }
    }
    resolve{
        contextUrl = 'http://www site com/artifactory/'   //The base Artifactory URL for the resolver
        repository{
            repoKey = 'jarDeploy'  //The Artifactory (preferably virtual) repository key to resolve from
            username = 'user'       //Optional resolver user name (leave out to use anonymous resolution)
            password = 'pass'   //The resolver password
            maven = true                //Resolve Maven-style artifacts and descriptors (true by default)
        }
    }
}

[buildinfo] Properties file path was not found! (Relevant only for builds running on a CI Server)
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed
 in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtensi
on.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "publishPom" on "task ':api:artifactoryPublish'", value: "true".
Deprecated dynamic property: "publishIvy" on "task ':api:artifactoryPublish'", value: "false".
Deprecated dynamic property "publishPom" created in multiple locations.
Deprecated dynamic property "publishIvy" created in multiple locations.
:webapp:artifactoryPublish                
Deploying build info to: http://www site com/artifactory/api/build
Build successfully deployed. Browse it in Artifactory under http://tc-scm.bitnamiapp.com/artifactory/webapp/
builds/leadgnome-services/1423748387989/2015-02-12T09:39:45.642-0400/

BUILD SUCCESSFUL

共有1个答案

狄彬彬
2023-03-14

Artifactory插件上载由另一个插件准备的文件集。考虑到你的Gradle版本,这可能就是maven插件。

maven插件创建并填充一个配置(通常称为归档文件),其中包含它构建的文件。此配置需要在artifactory闭包中指定。

您可以在此处看到许多示例。

P、 该插件的3.0.1版本可能无法与这样的老Gradle一起使用。请检查文档中的兼容性矩阵。

 类似资料:
  • 作为从ant迁移到gradle的短期选择,我们希望仅在ant构建的开始和结束时使用gradle,而不是从gradle内部运行ant。 基本上,我们希望使用gradle将依赖项提取到一个目录,然后运行ant构建,将所有指定的jar放置在一个目录中,然后使用gradle将工件从该目录发布到Artifactory。 这意味着gradle不会实际构建工件——而是在目录中找到它们,但我们仍然希望对它们进行版

  • 问题内容: 我正在开发两个相关的项目。其中一个是“助手”,另一个是“主”。我不断地更新“主要”,但是我有时也会更新“助手”。之后,我在gradle的maven插件中运行目标,并在本地maven存储库中获取jar。之后,我在“主要”项目中进行了gradle更新,并链接了更新的jar。 有两个问题。 1)如果仍然使用maven插件,那么如何将源代码也发布到本地Maven存储库中呢? 2)我可以在没有m

  • 我有一个名为fake的文件。我的angular应用程序中的json内部资源。此文件的路径如下所示。 MyApp= 我想使用我的组件中的HttpClient(位于应用程序文件夹内)对此文件发出请求。 MyApp= 组件源代码 我发生了以下错误 的HttpErrorResponse Http故障响应http://localhost:4200/assets/json/fake.json:404找不到 我

  • 我正在开发两个相关项目。其中一个是“帮手”一个,另一个是“主”一个。我在不断地更新“主”,但时不时也在更新“帮手”一个。然后,我在Gradle的maven插件中运行goal,并在本地maven repo中获取JAR。之后,我在“main”项目中进行分级更新,并将更新的jar链接起来。 有两个问题。 1)如果继续使用maven插件,那么如何将源代码发布到本地maven repo中? 2)如果没有ma

  • 我试图上传由第三方exe在部署期间创建的日志文件,并将其包括在我的部署结果中,如果可能的话,在一个单独的选项卡上。 我尝试使用发布工件构建任务,但这只适用于构建而不是发布。 我尝试记录任务,但是

  • 目前,我使用JFrog artifactory Gradle插件将java构建构件上载到本地artifactory存储库(Gradle默认存储库布局)。我想将其中一些部署到JCenter和/或Maven Central,使其开源并可供任何人访问。为此,我在Artifactory上创建了一个发行版(使用默认设置),并将其链接到我创建的一个Bintray帐户。然而,当我尝试从本地artifactory