Wednesday, November 20, 2024
Google search engine
HomeGuest BlogsInstall JFrog Artifactory on CentOS 8 | Rocky Linux 8

Install JFrog Artifactory on CentOS 8 | Rocky Linux 8

.tdi_3.td-a-rec{text-align:center}.tdi_3 .td-element-style{z-index:-1}.tdi_3.td-a-rec-img{text-align:left}.tdi_3.td-a-rec-img img{margin:0 auto 0 0}@media(max-width:767px){.tdi_3.td-a-rec-img{text-align:center}}

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.

.tdi_2.td-a-rec{text-align:center}.tdi_2 .td-element-style{z-index:-1}.tdi_2.td-a-rec-img{text-align:left}.tdi_2.td-a-rec-img img{margin:0 auto 0 0}@media(max-width:767px){.tdi_2.td-a-rec-img{text-align:center}}

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.

install jfrog artifactory ubuntu 01

The default logins are:

Username: admin
Password: password

Click the “Get Started” button.

install jfrog artifactory ubuntu 02

Reset admin password by setting a new one.

install jfrog artifactory ubuntu 03

Provide base URL for your JFrog.

install jfrog artifactory ubuntu 04

Select the repositories to be created during installation.

install jfrog artifactory ubuntu 05

You now have JFrog Artifactory installed on CentOS 8 | Rocky Linux 8 Linux machine.

install jfrog artifactory ubuntu 06

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

Continuous Delivery for Java Apps: Build a CD Pipeline Step by Step Using Kubernetes, Docker, Vagrant, Jenkins, Spring, Maven and Artifactory

$9.90
 in stock

Amazon.com

as of August 14, 2023 6:58 am
Liquid Software: How to Achieve Trusted Continuous Updates in the DevOps World

Liquid Software: How to Achieve Trusted Continuous Updates in the DevOps World

$19.95
$12.99

 in stock

Amazon.com

as of August 14, 2023 6:58 am
.tdi_4.td-a-rec{text-align:center}.tdi_4 .td-element-style{z-index:-1}.tdi_4.td-a-rec-img{text-align:left}.tdi_4.td-a-rec-img img{margin:0 auto 0 0}@media(max-width:767px){.tdi_4.td-a-rec-img{text-align:center}}

RELATED ARTICLES

Most Popular

Recent Comments