Today’s guide will walk you through the installation of JFrog Artifactory on CentOS 8 | Rocky Linux 8 Linux server. JFrog Artifactory is an advanced repository management system fit for cloud-native deployment pipelines. With JFrog you have the flexibility of using your favorite orchestration tools to manage your application deployments using different configuration packages and application artifacts managed in Artifactory, such as Docker and Helm.
Features of JFrog Artifactory:
- Basic Artifact Management
- On-Demand Jar Signing and Web Start Application
- Repository Replication
- Custom repository layout for non-Maven module management
- Universal support for all major package formats
- Powerful SSO integration for NTLM, Kerberos, etc.
- Cloud Storage – S3, Google Cloud Storage, Microsoft Azure Cloud Storage
- High Availability Setup support
- Integration with Other JFrog Products – JFrog Xray, JFrog Mission Control, JFrog Pipelines, JFrog Bintray and JFrog CLI
- Integration with all leading CI-servers
- Promotion, demotion and cleanup of build artefacts
- Powerful REST API for Release Automation
- Basic Security – LDAP Authentication, Role-based authorization with teams and permissions
- Advanced Storage Solutions – Filestore Sharding
Install JFrog Artifactory on CentOS 8 | Rocky Linux 8
We will be installing JFrog’s Artifactory open-source edition. You can as well go with the pro edition if you have the budget. We will run JFrog Artifactory on CentOS 8 | Rocky Linux 8 in containers using Podman.
First, ensure that your system CPU supports x86-64-v2 before you proceed.
Step 1: Update System
Ensure your CentOS 8 | Rocky Linux 8 system is updated.
sudo dnf update -y
Step 2: Install Podman on CentOS 8 | Rocky Linux 8
Install Podman and container tools on CentOS 8 | Rocky Linux 8 Linux machine.
sudo dnf -y install podman buildah
Confirm installation of Podman:
$ podman version
Client: Podman Engine
Version: 4.4.1
API Version: 4.4.1
Go Version: go1.19.9
Built: Wed Jun 28 18:38:53 2023
OS/Arch: linux/amd64
Step 2: Download JFrog Artifactory image
Download the JFrog Artifactory container image:
podman pull releases-docker.jfrog.io/jfrog/artifactory-oss:latest
Confirm image is available locally:
$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
releases-docker.jfrog.io/jfrog/artifactory-oss latest 24c6d8403d52 2 days ago 1.86 GB
For the commercial edition, use:
podman pull releases-docker.jfrog.io/jfrog/artifactory-cpp-ce:latest
For Artifactory Pro use:
podman pull releases-docker.jfrog.io/jfrog/artifactory-pro:latest
Step 3: Run JFrog Artifactory on CentOS 8 | Rocky Linux 8
Create a working directory for the JFrog container. This is where JFrog Artifactory will store its data.
JFROG_HOME=/jfrog
sudo mkdir -p $JFROG_HOME/artifactory/var/etc/
cd $JFROG_HOME/artifactory/var/etc/
sudo touch ./system.yaml
sudo chmod 777 -R $JFROG_HOME
Use the Podman command line tool to start an instance of JFrog Artifactory on CentOS 8 | Rocky Linux 8:
podman run --privileged --name jfrog-artifactory \
-d -p 8081:8081 -p 8082:8082 \
-v /jfrog/artifactory/var/:/var/opt/jfrog/artifactory \
releases-docker.jfrog.io/jfrog/artifactory-oss:latest
Check container status:
$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
91fe29ba85bd releases-docker.jfrog.io/jfrog/artifactory-oss:latest About a minute ago Up About a minute 0.0.0.0:8081-8082->8081-8082/tcp jfrog-artifactory
Configure firewalld to allow access to JFrog Artifactory main application port.
sudo firewall-cmd --add-port=8081/tcp --permanent
sudo firewall-cmd --add-port=8082/tcp --permanent
sudo firewall-cmd --reload
Step 4: Manage JFrog Artifactory on CentOS 8 | Rocky Linux 8 with Systemd
As you’ve seen, we’re managing the container with the Podman command line. Let’s introduce systemd to the mix to ensure the service can be started automatically at system boot.
sudo tee /etc/systemd/system/artifactory.service<<EOF
[Unit]
Description=Setup Systemd script for Artifactory Container
After=network.target
[Service]
User=username
Restart=on-failure
RestartSec=30s
ExecStartPre=-/usr/bin/podman stop -t 20 jfrog-artifactory
ExecStartPre=-/usr/bin/podman rm jfrog-artifactory
ExecStart=/usr/bin/podman run --privileged --name jfrog-artifactory -p 8081:8081 -p 8082:8082 \
-v /jfrog/artifactory:/var/opt/jfrog/artifactory \
docker.bintray.io/jfrog/artifactory-oss:latest
ExecStop=-/usr/bin/podman stop -t 20 jfrog-artifactory
ExecStop=-/usr/bin/podman rm jfrog-artifactory
[Install]
WantedBy=multi-user.target
EOF
Replace the username with a valid username on your system then, reload systemd:
sudo systemctl daemon-reload
Then start the Artifactory container with systemd:
sudo systemctl start artifactory
Enable it to start at system boot.
$ sudo systemctl enable artifactory
Created symlink /etc/systemd/system/multi-user.target.wants/artifactory.service → /etc/systemd/system/artifactory.service.
Status can be checked with:
$ systemctl status artifactory
● artifactory.service - Setup Systemd script for Artifactory Container
Loaded: loaded (/etc/systemd/system/artifactory.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2020-05-29 13:29:56 CEST; 31s ago
Main PID: 21183 (podman)
Tasks: 10 (limit: 24408)
Memory: 33.7M
CGroup: /system.slice/artifactory.service
└─21183 /usr/bin/podman run --privileged --name artifactory -p 8081:8081 -p 8082:8082 -v /jfrog/artifactory:/var/opt/jfrog/artifactory docker.bintray.io/>
May 29 13:30:24 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:24.363Z [jfac ] [INFO ] [d032e08be45c6acc] [CertificateFileHandlerBase:331>
May 29 13:30:24 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:24.372Z [jfac ] [INFO ] [d032e08be45c6acc] [CertificateFileHandlerBase:125>
May 29 13:30:24 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:24.372Z [jfac ] [INFO ] [d032e08be45c6acc] [CertificateFileHandlerBase:108>
May 29 13:30:24 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:24.551Z [jfac ] [INFO ] [d032e08be45c6acc] [CertificateFileHandlerBase:331>
May 29 13:30:24 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:24.551Z [jfac ] [INFO ] [d032e08be45c6acc] [CertificateFileHandlerBase:125>
May 29 13:30:24 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:24.775Z [jfac ] [INFO ] [d032e08be45c6acc] [b.AccessServerBootstrapImpl:42>
May 29 13:30:26 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:26.780Z [jfrt ] [INFO ] [35b2e6e932c70fb6] [ritiesStorageServiceFactory:25>
May 29 13:30:27 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:27.093Z [jfac ] [INFO ] [d032e08be45c6acc] [o.j.a.s.r.s.GrpcServerImpl:65 >
May 29 13:30:27 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:27.655Z [jfac ] [INFO ] [d032e08be45c6acc] [o.j.a.s.r.s.GrpcServerImpl:84 >
May 29 13:30:27 centos.geeksforgeeks.org podman[21183]: 2020-05-29T11:30:27.731Z [jfac ] [INFO ] [d032e08be45c6acc] [o.j.a.s.s.JoinKeyAccess:166
Step 5: Access Artifactory Web Interface
Confirm that the service is listening and bound.
$ sudo ss -tunelp | egrep '8081|8082'
tcp LISTEN 0 128 *:8081 *:* users:(("rootlessport",pid=2248,fd=11)) uid:1000 ino:40607 sk:10 v6only:0 <->
tcp LISTEN 0 128 *:8082 *:* users:(("rootlessport",pid=2248,fd=12)) uid:1000 ino:40609 sk:11 v6only:0 <->
Artifactory can be accessed using the following URL:
http://SERVERIP_OR_DOMAIN:8081/artifactory
-- OR --
http://SERVERIP_OR_DOMAIN:8082/ui
You should see Artifactory welcome page.
The default logins are:
Username: admin
Password: password
Click the “Get Started” button.
Reset admin password by setting a new one.
Provide base URL for your JFrog.
Select the repositories to be created during installation.
You now have JFrog Artifactory installed on CentOS 8 | Rocky Linux 8 Linux machine.
Reference:
Similar guides:
How To Install JFrog Artifactory on Ubuntu
Relevant Books:
Continuous Delivery for Java Apps: Build a CD Pipeline Step by Step Using Kubernetes, Docker, Vagrant, Jenkins, Spring, Maven and Artifactory
in stock
Amazon.com
Liquid Software: How to Achieve Trusted Continuous Updates in the DevOps World
$12.99
in stock
Amazon.com