I am completely new to this topic so bear with me. I have the following scenario.
I will have partners upload artifacts and separate checksum files through a web frontend that will store the files in S3. There will some kind of middleware/service moving the files into jfrog repositories. Now what I am not clear on is where and when the validation against the provided checksum will happen. Can jfrog do that and if the checksum doesn't match put the file in some garbage repo. Or will the service that our SaaS team has to write need to take care of that?
Thanks in advance.
Best regards
/Ludo
Related
I want to get my Larvel project ready for deployment.
I already found some guides in the web, but no one of them could answer me the following question(s):
Which file do I have to upload to the webserver?
I already tried to remove as much folders/files as possible to keep the project-size on my apache webserver as small as possible. But is there any guide which tells me, which folders/files do i exactly need to exchange?
When it comes to an update:
Once deployed, which files do i need to update?
Do I have to upload all the files again or can I exchange only certain ones?
Currently i followed the official laravel guide and uploaded all files to the webserver.
I had a task to delete old SNAPSHOT artefacts which are under many folders/directories.
We can't go and delete each and every artefact manually so I would like to go with restAPI.
For clear info:
https://artifactory.com/artifactory/maven-local/com/aa/bbb/cccc/dddd/XYZ-SNAPSHOT/abc.jar
https://artifactory.com/artifactory/maven-local/com/aa/bbb/cccc/dddd/XYZ-SNAPSHOT/xyz.jar
https://artifactory.com/artifactory/maven-local/com/aa/bbb/cccc/eeee/XYZ-SNAPSHOT/pqr.jar
https://artifactory.com/artifactory/maven-local/com/aa/bbb/dddd/eeee/XYZ-SNAPSHOT/lmn.jar
Above 4 examples have different directories.
My script needs to go each and every directory and have to verify for XYZ-SNAPSHOT, if it found then we can make a url and delete through CURL.
How can we achieve this? Or is there any other way to do it?
You should probably want to use Artifactory Query Language (AQL) which is the easiest way to find artifacts and modules according to patterns. You can find bunch of examples in the page. Moreover, to perform the deletion easily and even automate the process in the future, I advise using JFrog CLI. You can also read this interesting blog about similar use case.
Also, there is the 'Max Unique Snapshots' field in your local Maven repository settings. You can use that for Artifactory to keep a specified number of unique snapshots per artifact.
I'm looking to use the upload spec to upload artifacts to artifactory from a jenkins job. I'd like to be able to use it to additionally attach a classifier to the artifact for if it is referenced through Maven.
Do you know if there's a way to do this? I'd like to use the upload spec for simplicity and ideally avoid having to get my hands too dirty with Maven.
I realised the answer to my own question. You assign a repository layout to your repo. For example maven-2-default. This describes the file format and how that relates to version number, classifier etc.
You can use file specs to upload or download from artifactory in a Jenkins Free Style job (simply check the Generic-Artifactory Integration) or a Jenkins Pipeline Job.
HTH,
Or
I had upload jar to server, but I got below error. I had tried so many times.
And then I log into https://oss.sonatype.org/#stagingRepositories, I can see the list of Staging Repositories, but I cannot drop or release the repository. It said 403.
Could any one help me ? Thanks a lot.
Your account doesn't have permissions to perform these actions.
This isn't the right place to ask for help with this, file an issue at https://issues.sonatype.org in the "Community Support - Open Source Project Repository Hosting (OSSRH)" project.
I'm looking for a way to list all available artifacts programmatically for given repo url, group and artifact. The repo is maven-based.
I know about maven-metadata.xml but the repo that is in use doesn't provide classifier details which are crucial for me.
Solution may be based on ivy, gradle or other compatible tools. If anybody has an idea please let mi know :)
I hope to find a code sample that will allow me to browse repo in an easy and friendly way.
Use the search features of your Maven repository manager.
If you're using Nexus, it supports searches of it's Lucene index. For example the following URL returns all the artifacts matching the string "log4j":
https://repository.sonatype.org/service/local/lucene/search?q=log4j
The response is verbose but includes information like classfiers (which is what you're looking for)
maven-metdata.xml only has module information, and classifier belongs to artifact (not module). Gradle is probably not a good fit here. I'd consider a low-level approach with some GET requests and HTML parsing. In case the repository is backed by a repository manager such as Artifactory and Nexus, their REST API might also be an option.
Thanks guys for all hints. Yesterday I've managed to solve the problem using artifactory REST search API and parsing the incoming JSON respones. Thanks once again.