0
votes

I have been asked to work on an older shared version of Jenkins. It is so old that installing the Artifactory plug-in is just not possible. The latest version of the plug-in wont load and installing the older version and all its dependencies without an internet connection is just a pain.

In short is there a quick and simple way in which we can pass the credentials to artifactory from Jenkins before Jenkins tries to read or write to the Artifactory repo ?

Edit:

My setup is Jenkins running on RH Linux, building a very simple Maven project with the requirement to output the build artefacts to Artifactory. JFrog CLI is available with my version of Artifactory, however is not running currently on the Linux box.

2
Please update the question with more information about your build. What build tool are you using? You can use JFrog CLI in your pipeline - Prostagma
I have updated the original question with my build setup - John Hopkins

2 Answers

2
votes

Option 1 - JFrog CLI

See the documentation of the Maven commands. JFrog CLI is available on multiple linux architectures (386, amd64, arm64, arm, s390x to date). You can install it as part of your pipeline. Get it here.

Option 2 - Maven Artifactory Plugin

See the documentation of the plugin. You can also learn how to use the plugin from this project example.

0
votes

You could simply use the Artifactory REST API with curl. Depending on your repository:

curl -u myUser:myP455w0rd! -X PUT "http://localhost:8081/artifactory/my-repository/my/new/artifact/directory/file.txt" -T Desktop/myNewFile.txt

The documentation from JFrog about this is actually pretty good. You can also add hashes and other parameters this way.

https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API