How to deploy my own Jar file in Artifactory? - artifactory

How can I deploy my own jar file into Artifactory. For example, I have my own plugin which requires to be uploaded/deployed as an artifact.

There are two ways to do that - REST API and the UI.
REST API is what the build and dependency management tools use. You can use Maven, Gradle or whatever build tool you use to upload the artifacts. The easiest way to set up your build tool to work with Artifactory is using the Set Me Up button in Artifactory UI. Go to the artifact browser, select the repository you want to upload to, and hit the Set Me Up button for instructions.
You can upload a file using Artifactory UI. Go to the artifact browser, select the repository you want to upload to, and hit the Upload button for instructions. Generally it's a not scalable solution, but for one artifact it's fine.

Related

Cannot see the builds after publishing the artifacts

I am new to Artifactory and just going through the guides and trying out some sample code.
I am trying to publish a maven artifact to my artifactory server. I have followed the following steps to do it:
Through the "Set me up" tool, get the settings.xml file for maven.
Download and place the settings.xml file to the ~/.m2 folder
Clone the maven example repo from the artifactory examples available on git.
Update the pom.xml file and add the distributionManagement tag provided in the "Set me up" window.
Publish the code using mvn deploy
The binaries are published to the artifactory server and are available in the Artifact Repository Browser window. But I do not see any corresponding builds in the Build Browser. I also do not get any builds if I try to fetch them using the REST API
What am I missing? I followed the above steps because I saw it on the Introduction to Artifactory webinar video. Is there any setting that I need to change to see the builds in the Build Browser window?
I am using Artifactory Version 5.10.3 (OSS)
I think there is a misunderstanding, the maven example plugin is used for publishing artifacts to Artifactory, however, it doesn't publish Build Info.
In order for you to publish build info to Artifactory, you will either need to use CI server with Artifactory plugin (for example, Jenkins, Bamboo, Teamcity) or use the Maven Artifactory plugin:
https://www.jfrog.com/confluence/display/RTF/Maven+Artifactory+Plugin
That have the build information publish step inside.

How do I export a tornadofx application?

I finished writing a little tornadofx app in IntelliJ CE and now want to export it as a single file which can be downloaded and launched by users. For now it would be sufficient to provide a single jar file. But it would be also great to know on how to export a self contained installer for OSX, Windows and Linux. Unfortunately I don't know how to do any of that. Can you help?
Have a look at the FxLauncher project, which is also from the creator of tornadoFX. FXLauncher allows you to easily distribute your javafx/tornadoFX application. The project provides a maven-plugin which allows you to generate a self containing javafx/tornadoFX application that you then publish to a web-server or common directory (e.g an internal app in your company network). After that you can generate native installers for Linux, OSX and Windows. The installer itself will only install a small app, which will know the location of your web-serve or directory. On startup it will download the latest deployed version of you application and run it.
Additional links:
GitHub-project
Introduction screen cast
Customizing update ui
In case you want a single jar file, you can export it as a regular Java program (not the JavaFX option in IntelliJ). You do this by creating and building an artifact.
Go to the Project Structure window, and from there select Artifacts
Click the "+" icon to create a new artifact, and select JAR > From modules with dependencies...
Select the main class and press OK
And that's it, the artifact has been set up, now, to generate jar file, just go to Build > Build Artifacts menu, and select the newly-made artifact, and the IntelliJ will generate the jar file in the "out" directory.
Not sure if this is the best solution, but it's what I've been using, and it works for me.

Artifactory Adobe Public repository Set Me Up

Required to get all required Adobe plugin from Adobe public repository through Artifactory
For this Under Set Me Up -> Adobe Public in Artifactory home page.
Now click it provide the password it gives resolution.
curl -u: -O "http://10.32.23.108:8081/artifactory/Adobe-Public/"
However when I try to execute the resolution in a Unix box it fails to download any plugin or jar files though it connects do not give any error but only 0% download.
Is there any other setting needed for this Adobe Public.
To proxy the Adobe Maven repository you need to perform the following steps:
Create a new remote repository in Artifactory - Admin -> Remote -> New
Choose maven as the repository type
Set a repository key, for example Adobe
Set the following as the repository URL - https://repo.adobe.com/nexus/content/groups/public
Click the "Test" button to make sure Artifactory can connect to the Adobe repository
Click Save & Finish
Make sure you can see the new repository in the Artifact Repository Browser. You can expand the tree to see the content of the remote repository.
Add the new repository to the libs-release virtual repository. This will allow to resolve Adobe artifacts using the libs-release repository.
If you have not done it already, generate a Maven settings.xml file using Set Me Up. Configure Maven with the generate settings.xml file. For more info see Maven Repositories
The above steps should allow you to resolve arifacts from the Adobe repository.
You should not use the Maven settings.xml from the adobe web site. This one is intended to be used when you resolve artifacts directly from their repository and not via Artifactory. There is no need to add the adobe-public profile.
This does not affect you distributionManagement settings in the pom file. Those are required for deploying your build artifacts.

Building alfresco.war and share.war using alfresco All-in-one (wars)

I have went through the Alfresco All-In-One sdk steps and I am able to generate the share.war but not able to generate alfresco.war. It shows only the folder structure as shown in above site.
How can I generate alfresco.war?
Whats repo.war?
How to test that the share.war and alfresco.war are properly build?
"Repo" means "repository" and Alfresco is a repository. The WAR that gets created by default matches the directory that project is sitting in, which is called "repo" which is why the WAR is called "repo.war". So "repo.war" can be deployed to your Tomcat server and renamed to "alfresco.war" as they are the same.
You can add your own unit tests to your Alfresco SDK project if you'd like. But there are no standard unit tests that ship with the SDK.
Opinions differ about this, but I would not deploy the WAR files produced by the All-in-One project. Instead, move your AMPs to the server, then use the MMT to install them. That way, you are just testing your local AMPs and you know those work and you have less to move.

Deploying specific TeamCity build Arifact using Build Master

We use Team City as our CI server and Build Master as our deployment mechanism. I have a project that builds and runs test on teamcity and creates a release-0.0.%build.number%.zip.
How do i instruct Build Master to get the latest release-0.0.%build.number%.zip?
Currently I use Create Build Artifact which collects files from a directory, but this is causing problems for us. I already have the artifact as a .zip and just want to deploy that.
Have you looked at the TeamCity Extensions? The idea that immediately comes to mind is to use the Get TeamCity Artifact action, which has the option to use latest Build or specify a variable. This might be easiser than pulling from disk, too.

Resources