Interview Questions & Answers Complete Guide for Artifactory

What is artifactory?

JFrog Artifactory is a repository manager that supports all types of software packages and allows for continuous automated integration and delivery. Add Artifactory to your toolchain and use it to store build artefacts in your repository.

Name some Alternative tools of artifactory.

Alternative repository management tools include GithubGitLab and Bitbucket.

What different types of JFrog Repositories are there?
JFrog repositories are divided into four categories.

  1. Local repositories – Artifacts that you upload and manage locally are stored in local repositories.
  2. Remote repositories – Remote repositories hold cached artefacts from public cloud repositories such as DockerHub, MVNRepository, and NPM repository, among others.
  3. Virtual repositories – A virtual repository is a logical repository that combines local and remote repositories.
  4. Distribution repositories – Distribution repositories store artefacts that can be easily transferred from Artifactory to bintray and then distributed to end users.

What automation features does JFrog Repository offer?

JFrog Artifactory supports automation with three key features.

  1. Rest APIs – Rest APIs that can be used for a variety of Artifactory tasks such as build automations, artefact deployments, and CI/CD automation tool integration.
  2. JFrog CLI is a command-line tool for automating and optimising Artifactory tasks. Internally, JFrog CLI communicated with Artifactory via Rest APIs.
  3. Plug-in Framework – Plug-ins that provide hooks into the Artifactory and automate tasks like task scheduling, download and upload management, and responding to new builds and artefacts, among others.

Built-in Integrations – Connectivity to CI/CD and build tools like Jenkins and Bamboo, among others.

What problems does Artifactory fix?
We discovered that most organisations require a reliable artefacts proxy service when working with Maven artefacts for the following reasons:

  • The public Maven repositories can occasionally become unreliable (down, highly busy, slow…). It’s also not uncommon for these repositories to contain broken or incorrect artefacts. This unexpected behavior can cause the build to fail and/or produce non-reproducible build results, which is a must for most businesses.
  • Going to retrieve remote artefacts that are shared by nature is costly and inefficient for each developer within the same organization.
  • There is no easy way to automatically share artefacts in multi-site development environments without a mesh of proxies.
  • In terms of security, licensing, include/exclude patterns (do not look for in-house artefacts on repo1), and so on, it’s common to need to enforce and control the repositories and artefacts included in a build on a global scale. Only a global proxy can accomplish this.
  • Even for organization internal artefacts, Maven will send update queries to its public repositories as part of a normal build. Such internet-based query requests could reveal sensitive information about ongoing projects that the organization would prefer to keep private. You can prevent internal artefacts from being queried on the internet by using Artifactory’s include/exclude patterns.

What is the process of Artifactory?
Artifactory uses the Apache Jackrabbit implementation of a JSR-170 compliant Java Content Repository (JCR) for storage behind the scenes. This natural fit makes managing fully indexed and searchable metadata and providing full repository coherence with extended features like security, transacted operations, auditing, locking, and so on a breeze.
The excellent Apache Wicket web framework underpins Artifactory’s rich Ajax web UI.

For quick out-of-the-box startup, the standard standalone distribution uses the Jetty servlet container, but it can be deployed on any servlet container.

Is WebDAV used by Artifactory to communicate with Maven?
No. Artifactory is compatible with many WebDAV clients and is WebDAV friendly, but it does not use WebDAV or the Jackrabbit WebDAV implementation for communication (though some competitor FUD blogs suggest that, without getting their facts right). We’re using a lightweight HTTP/REST communication protocol, similar to the one used by Maven’s default HTTP waggon.

Will I lose control of my repository if I use a database for artefact storage?
Quite the opposite is true. Using JCR and a database for storage provides not only a better technical solution, but also more control over your repository. Artifactory’s Ajax web UI allows for browsing, deploying, and undeploying, as well as performing all common administrative tasks in a secure manner.
Artifactory also allows you to import or export your repositories to the file system, as well as perform scheduled backups of your repositories to regular file system directories.

Will I be forced to use Artifactory indefinitely after using Derby DB to store my artefacts?
Obviously not. This is why the Import/Export/Backup features were created: to allow Artifactory users to create a standard file-system based Maven 2 repository layout of the Artifactory DB repositories.

Is Artifactory capable of mirroring? How do I use Artifactory to achieve mirroring?
No. Instead of mirroring, Artifactory uses controlled caches of remote repositories. Caches are populated asynchronously in response to requests, so caches don’t start filling up with artefacts until Maven starts bombarding it with requests. Indexing is entirely handled by Jackrabbit, and unlike mirroring, it is always up to date. When using a build server to run continuous builds, the Artifactory caches are normally synchronized multiple times, achieving a similar effect to mirroring.

Artifactory is distributed under what licence?
The Apache License, Version 2.0, is used by Artifactory.

What is the best way to report a bug or request new features?

By filing a report with our JIRA system.

Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x