Original Article: How to Install JFrog Artifactory on Ubuntu 18.04 / 16.04
Today we will see how to Install JFrog Artifactory on Ubuntu 18.04/16.04. JFrog Artifactory is the world’s most advanced repository manager designed to integrate with the majority of continuous integration and delivery tools. With JFrog Artifactory, delivering an end to end automated solution with artifacts tracking from development to production becomes a reality.
Artifactory is mostly used by build tools such as Maven, Apache Ant, and Gradle to store respective artifacts in its local repository to be consumption by other applications and tools.
Install JFrog Artifactory on Ubuntu
The easiest way of installing and running Artifactory on Ubuntu 18.04/16,04 is by using Docker. The process is straightforward without dependency/permission hurdles. You just install Docker, download Artifactory image and spin a container.
Step 1: Install Docker Engine
Install Docker. For a quick start, here is the process.
Install packages to allow apt to use a repository over HTTPS:
sudo apt -y install apt-transport-https \
ca-certificates \
curl \
software-properties-common
Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Add stable repository:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Install Docker CE:
sudo apt update && sudo apt -y install docker-ce
If you would like to use Docker as a non-root user, you should now consider adding your user to the “docker” group with something like:
sudo usermod -aG docker $USER
Run the command below to see a version of docker installed.
$ docker version
Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:43:57 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.5
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:10:53 2019
OS/Arch: linux/amd64
Experimental: false
Step 2: Download JFrog Artifactory Docker image
There are different editions of JFrog Artifactory available, check the Comparison Matrix. If you’re not sure, install the OSS (Open Source Software) version. For more features, you can consider the Pro.
Pull the latest Docker image of JFrog Artifactory.
docker pull docker.bintray.io/jfrog/artifactory-oss:latest
For CE edition:
docker pull docker.bintray.io/jfrog/artifactory-cpp-ce
Confirm Docker images:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.bintray.io/jfrog/artifactory-cpp-ce latest 24d943a892ac 43 hours ago 582MB
docker.bintray.io/jfrog/artifactory-oss latest 58d49856785f 43 hours ago 582MB
Step 3: Create Data Directory
Create data directory on host system to ensure data used on container is persistent.
sudo mkdir -p /jfrog/artifactory
sudo chown -R 1030 /jfrog/
Step 4: Start JFrog Artifactory container
To start an Artifactory container, use the command:
$ docker run --name artifactory -d -p 8081:8081 -p 8082:8082\ -v /jfrog/artifactory:/var/opt/jfrog/artifactory \ docker.bintray.io/jfrog/artifactory-oss:latest
You can pass Java system properties to the JVM running Artifactory using EXTRA_JAVA_OPTIONS. Check more on Docker setup link. See example below.
$ docker run --name artifactory -d -p 8081:8081 -p 8082:8082\ -v /jfrog/artifactory:/var/opt/jfrog/artifactory \ -e EXTRA_JAVA_OPTIONS='-Xms512m -Xmx2g -Xss256k -XX:+UseG1GC' \ docker.bintray.io/jfrog/artifactory-pro:latest
Step 5: Running JFrog Artifactory container with Systemd
Systemd is the default init system for Ubuntu 18.04/16.04. We can use it to manage JFrog Artifactory container.
Create Artifactory service unit file.
sudo vim /etc/systemd/system/artifactory.service
Add:
[Unit]
Description=Setup Systemd script for Artifactory Container
After=network.target
[Service]
Restart=always
ExecStartPre=-/usr/bin/docker kill artifactory
ExecStartPre=-/usr/bin/docker rm artifactory
ExecStart=/usr/bin/docker run --name artifactory -p 8081:8081 -p 8082:8082 \
-v /jfrog/artifactory:/var/opt/jfrog/artifactory \
docker.bintray.io/jfrog/artifactory-oss:latest
ExecStop=-/usr/bin/docker kill artifactory
ExecStop=-/usr/bin/docker rm artifactory
[Install]
WantedBy=multi-user.target
Reload systemd.
sudo systemctl daemon-reload
Then start Artifactory container with systemd.
sudo systemctl start artifactory
Enable it to start at system boot.
sudo systemctl enable artifactory
Status can be checked with:
sudo systemctl status artifactory
Also check service binding with:
$ ss -tunelp | grep 8081
tcp LISTEN 0 128 *:8081 *:* users:(("docker-proxy",pid=2820,fd=4)) ino:117162 sk:b v6only:0 <->
Step 6: Access Artifactory Web Interface
Artifactory can be accessed using the following URL:
http://SERVERIP_OR_DOMAIN:8081
You should be redirecto to the new Artifactory welcome page.
http://SERVERIP_OR_DOMAIN:8082/ui/login/
By default Artifactory username and password are admin / password
