I am trying to write an ant build file which I want to generate the archetype from a remote repository.
How this can be achieved. I have read the ant tasks for maven and all it talks is about dependencies and installing deploying etc. How can we generate the archetype to our local machine from the remote repository.
Related
I use a script in Jenkins to build delphi projects and I want to deploy their .exe outputs to Artifactory server but I dont know how. Is there any plugin to deploy exe files to Artifactory?
Is it a good idea to deploy them to Artifactory?
The best would be using the Jenkins Artifactory plugin.
The plugin allows your build jobs to deploy artifacts automatically to Artifactory and have them linked to the build job that created them.
The support for generic (freestyle) builds is probably the most suitable one for deploying the .exe files. As part of the support for generic builds, you will be able to defined patterns for selecting which files would be deployed and to where.
currently we are using manual upload through GUI of nexusI have a Java project (which is not a maven project means no POM.xml) and SVN repo and jenkins(using ant script for build) for CI. The build process creating War and Ear files locally in jenkins workspace. I want to upload this EAR to Nexus repository. It doesn't use Maven for builds. And I'd rather not introduce Maven/POM files just to get files into Nexus.
So, what's the best (or any reasonable) way to upload build artifacts to a Nexus repository without Maven?
We use Jenkins for building maven projects, analysing code and pushing our builds to archiva(via mvn deploy).
I need to have a deploy item that grabs a war from archiva and pushes it to weblogic.
Checking if this can be easily done without scripting something.
Thanks,
Daniel
you can use WebLogic Deployer Plugin to deploy your files.
**/*.war only selects the war file from your archiva.
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.
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
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.
The open source version of Nexus (Nexus OSS) is supports many repository formats out of the box including Maven, NuGet, NPM, RubyGems and others. Nexus just runs on Java (e.g. like Jenkins). It is not Java only...
Depending on how you plan to get the DLL files from the repository, different formats might be more or less suited to your usage. You could even use a custom format, but then you rely custom tools.
The scenarios I have seen at many customers are
using a Maven repo and pulling the files in either in a Maven build together with the Maven NAR Plugin (used for native development with C/C++)
using a Maven repo and pulling via plan HTTP GET calls using your scripting language/build tool of choice
using NuGet format and store the DLLs in NuGet packages in the repo and using nuget to retrieve them for the projects
All of these work well.
I tries one scenario to integrate these tools, but it giving unbelievable output. What I did:
I did not configure or install PMD in Hudson.
I configured PMD in my parent pom.
I run goals (clean site) the in Hudson job, but it running only last sub project.
I check log in console, it has:
some svn update log
Parsing POMs
and directly generating reports for last sub project.
I have same svn checkout workspace in Eclipse, it working and generating reports for all parent and child projects. Actually, after verify in Eclipse only, I try to verify in Hudson.
And after try to configure PMD in Hudson, but I did not find any help online to do that.
We are using jenkins and maven, artifactory and sonar (which contains PMD, Checkstyle, Findbugs and others).
I didn't set it up however there are plugins for (nearly) everything:
Jenkins Artifactory Plugin
Jenkins Maven Plugin
Jenkins Sonar Plugin
But it is possible to do it your way and use PMD "directly". Hava a look here...