I am new to Artifactory, and I wonder how to upload a directory structure containing many different binaries -- keeping the structure intact -- to an artifactory?
3 Answers
This can be done through the Jrog CLI. The CLI has a recursive option that looks like it will do what you hope.
jfrog rt upload --recursive artifactory-mirror/* artifact-repo/dir-struct/
The CLI also has some performance improvements for uploads that doing it through curl or a browser don't seem to get. Also, scriptable!
To include full directory structure you will want to use the flag --flat=false
jfrog rt upload --flat=false --recursive artifactory-mirror/* artifact-repo
-
-
@Gaurav Definitely, there are command-line flags for the API key and server URLs. We'll be doing it before too long. Commented Jul 27, 2018 at 13:23
-
-
wildcard asterisk * should either be omitted, or else the string placed in "quotes".– SamCommented Mar 30, 2021 at 18:42
Since the original question is also tagged with Nexus this is how to do bulk upload with Nexus 3:
find <directory name>/ \! -type d -print0 | xargs -P10 -0 -I@ curl -v --user <user>:<password> --upload-file ./@ http://localhost:8081/repository/<repository name>/@
Adding on @sysadmin1138's answer, to push the content of a folder to another folder while keeping the directory structure starting from the source folder, you can use:
(cd source-folder && jfrog rt upload --detailed-summary --flat=false --recursive ./ artifact-repo/target-folder/
The --detailed-summary
will tell you the details of all the files uploaded.
tar
was primarily a backup system (tar means tape archive), so it will unpack the same structure as was packed.