JFrog
Artifactory
Presented By:
Mohamed Sahnoun
Amani Bchir
Fatma Chaouech
What’s an Artifact?
An item that is produced during the
software development process
Types:
Project management artifacts
Code artifacts
Documentation artifacts
Problems
Managing multiple artifacts is a
challenging and time-consuming task.
Artifact search
Artifact lifecycle management
Storage optimization
Loading dependencies from the
central repository servers isn’t secure.
What is JFrog Artifactory?
Binary Repository Manager
DevOps solution that provides end-to-
end automation and management of
binaries and artifacts.
Founded in 2008.
Provides a lot of features and
functionalities.
Main features
Optimize artifacts storage and management
Manage dependencies automatically by:
Acting as a proxy for remote repositories
Automatically shares the dependencies with the
team
Clean unused and outdated modules
Manage metadata
Create retention policies for binaries according
to their creation or last download time
Mark binaries with properties
etc...
Storage Optimization
Checksum-based storage
Steps:
a. Artifact uploaded
b. Its SHA1 checksum calculated
c. Artifact hosted in a filestore under a
directory made up of the first two
characters of the checksum
d. Database entry maps the file's
checksum to the path it was uploaded
to in a repository
No binary redundancies
Binaries vs Artifacts
Binaries
Artifacts
Artifactory in the
DevOps Pipeline
In the Devops Pipeline
... Code Build ...
Open source Binaries
dependencies
Packages
Without Artifactory
What happens if one of
those repositories is not
available ?
Developers access remote repositories
without any intervension
With Artifactory
If dependencies are no
longer available , they
still can be used
through Artifactory
JFrog
Artifactory Dependencies can be
cached locally
Optimaze storage
consumption
Developers access remote repositories
Impose policies
through Artifactory
Supported CI Servers
Demo
PLATFORM
PACKAGES
REPOSITORIES
ADDING A LOCAL
REPOSITORY
Now we will go through the process of adding
new npm repository.
First we will be creating a new repository
REPOSITORIES
1 First click on add a local repository on the
repository view
and select npm as the package type
REPOSITORIES
21 Now enter necessary informations for the repository
REPOSITORIES
31 Advanced options can be configured also if needed and than click on save and
finish
ADDING A VIRTUAL
REPOSITORY
Now that we created some local repositories let’s
use a virtual repository incapsulating them
REPOSITORIES
1 Create a virtual repository same as the local repository
2 Add the local repositories of your choice
BUILDS
Lets now use a build process for our repositories.
When doing this step we can use many CI/CD
tools
In our case, we will be using Jenkins to automate
those processes.
BUILDS
1 Here you can find predefined build process found in artifactory
BUILDS
2 Let’s select one build process ( npm-sample-with-
violation ) for testing and exploration purposes.
3 This build process calls a jenkins CI
server.
BUILDS
4 Content of the build.
BUILDS
BUILDS
THANK
YOU