We are migrating to Azure devops environment and have a problem.
In our old environment, we used a Jenkins server to automate a release procedure ran a gradle maven deploy plugin script using following info:
groupId example: "com.foo"
artifactId example: "Hello"
artifact: example: ‘jar’
feed url example: ‘https://pkgs.dev.azure.com/……maven/v1’
password:…
, and the binaries then landed on a JFrog Artifactory server.
Now in Azure devops, we can’t figure out how to publish the artifacts to an Artifact feed using any of its standard tasks. I have been looking at the universal packges tasks, and on the Maven@3, but none of them seems to provide the correct parameters.
More over, we are not sure of we should use the Release pipelines or "normal" pipelines. Can any Azure Devops whiz give some advice here?
2
Answers
If you are building in Azure pipelines and publishing to Azure Articat feed then there are tasks to build and publish your maven module.
https://learn.microsoft.com/en-us/azure/devops/pipelines/artifacts/publish-maven-artifacts?view=azure-devops
You do not need to explicitly set the password as auth is all done inside devops. You must set this up as set out in the guide.
The second part of the question. Pipelines (written in YAML) and Classic Release Pipelines (UI Driven) both can build, test and deploy an application. The move seems to be towards Pipelines written in YAML with most new features being added to this system.
You want to take a local artifact and put it on the feed, but you cannot use local artifact and put it on the feed.
If you use Maven, you can use
mvn deploy --settings c:useruser-settings.xml
to put it on the Artifacts with the settings,xml & pom.xml config. You cannot ignore the settings.xml step since it match the password & account with the feed of Artifacts.