Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Repository manager that manages binary dll files (Embedded C/C++ project artifacts) and that integrates with Jenkins

Is there any Repository manager that manages the binary dll files and also integrates well with the Jenkins?

Can Nexus be used to manage the dll files as these files are created as a part of Embedded C/C++ Projects and not sure if Nexus Artifact Manager supports/integrates well with such Projects as it mainly supports the Java projects? Is there a way to automatically manage the upload and download of such project artifacts from Nexus/other artifact managers without the use of POM file? Suggest in case there are other Artifact Managers that supports binary artifacts.

like image 856
drsdarpan Avatar asked Aug 06 '15 12:08

drsdarpan


People also ask

What is binary repository used for?

A binary repository is a tool for downloading and storing of binary files used and created in software development. It's used to store software binary packages, artifacts, and their corresponding metadata. They're different than source code repositories, as binary repositories do not store source files.

What is the use of Artifactory in DevOps?

JFrog Artifactory is a universal DevOps solution providing end-to-end automation and management of binaries and artifacts through the application delivery process that improves productivity across your development ecosystem.

What are binaries and artifacts?

Artifacts Size: The amount of physical storage that would be occupied if each artifact was a physical binary (not just a link). Binaries Size: The amount of physical storage occupied by the binaries in your system.


2 Answers

Artifactory can be used to store any type of binaries.
Starting with Artifactory 4.0, you can create generic repositories which allows uploading packages of any type. You will not need to upload any POM files and Artifactory will not need to calculate any metadata (for example Maven metadata).
To deploy files you can use the REST API or the UI, for example:

curl -uUSER:PASS -T file.dll http://localhost:8081/artifactory/dll-local/path/to/file.dll

If you have a certain layout you would like to use for this repository you can create a custom layout and associate it with the repository. This can be useful for automatic snapshot/integration versions cleanup and other module management tasks.


Disclaimer: I'm affiliated with Artifactory

like image 169
Dror Bereznitsky Avatar answered Oct 19 '22 21:10

Dror Bereznitsky


The Nexus repository manager is java oriented, but can be used to store any files you want. Binaries of all types or even just text configuration files.
To automate the file upload process, you can use maven from command line:

mvn deploy:deploy-file -DgroupId=com.you -DartifactId=file -Dversion=1.0 -Dpackaging=exe -Dfile=c:\out\file.exe -Durl=http://yourserver/nexus/content/repositories/releases -DrepositoryId=releases

Then, to get the file, you should be able to get it directly with the following URL:

wget http://yourserver/nexus/content/repositories/releases/com/you/file/1.0/file-1.0.exe

This is a simple approach to using Nexus as a general artifact repository.

I hope this helps.

like image 38
Eldad Assis Avatar answered Oct 19 '22 23:10

Eldad Assis