Artifactory is a repository manager created by JFrog. A repository manager is a dedicated server application designed to manage binary components for the application that we build.
How is JFrog differ from GIT hub?
It’s very simple and people do confuse between these two a lot and both serves a totally different purpose from each other.
Git is where your source code resides. Git does all the version control because it can read plain text. Git cannot handle binary files which have no textual context. Although, I don’t want to include Git LFS which is a similar kind of thing, but let’s keep things simple as of now.
Now what to do if you want to handle your binaries? Then comes JFrog Artifactory which is the only universal solution which supports mostly all package managers available in the market. It can connect with your CI environment and do a lot more stuff than just managing your binary repositories.
In short, Git is used for source code and Artifactory is used for the binaries which go with the source code.
Why should use repository manager:
- Reduce number of downloads from remote repositories, this can save not only bandwidth but also time.
- Improve build stability since you are less dependent on external repositories.
- Increase performance for interaction with remote SNAPSHOT repositories.
- Potential for control consumed and provided artifacts.
- Create a central storage and access to artifacts and metadata that can be used by another developer, even another projects. QA and operations team also get the benefits by using the same binary.
- Become effective platform for exchanging binary artifact within and beyond your organization without the need of building the source.
JFrog Artifactory features:
- Reliability: As a local proxy to the outside world, Artifactory guarantees consistent access to the components needed by your build tools.
- Efficiency: Remote artifacts are cached locally for reuse, so that you don’t have to download them repeatedly.
- Security: Advanced security features give you control over who can access your artifacts, and where they can deploy them.
- Stability: Supports large load bursts with extremely high concurrency and unmatched data integrity.
- Automation: Automate all aspects of artifact management using a powerful REST API.
Components to setup JFrog:
- Oracle JDK 8. Artifactory is Java software, so we will use Oracle Java 8 to run Artifactory.
- MySQL 5.6. Artifactory comes with built in Derby database. It’s not a strict requirement but highly recommended to use external database. Artifactory support MySQL, PostgreSQL, Oracle and MSSQL Server. In this tutorial we’ll setup MySQL server as external database but on the same server with Artifactory. When needed in the future you can easily migrate the database to dedicated MySQL instance.
- Nginx. Artifactory run on top of Tomcat as application server. We can access artifactory directly, but we will use Nginx as reverse proxy for Tomcat / Artifactory. We will also setup SSL on Nginx, so SSL termination will happen on Nginx instead of on Tomcat.
Next post will discuss about installation and configuration.