研发效能DevOps: Ubuntu 部署 JFrog 制品库

作者 : admin 本文共16904个字,预计阅读时间需要43分钟 发布时间: 2024-06-1 共2人阅读

目录

一、实验

1.环境

2.Ubuntu 部署 JFrog 制品库 

3.Ubuntu 部署 postgresql数据库

4.Ubuntu 部署 Xray

5. 使用JFrog 增删项目

二、问题

1.Ubuntu 如何通过apt方式部署 JFrog 制品库

2.Ubuntu 如何通过docker方式部署 JFrog 制品库

3.安装jdk报错

4.安装JFrog Artifactory报错

5.JFrog Artifactory 启动报错

6.启动artifactory镜像报错

7.HELM 方式如何安装JFrog

8.安装JFrog报错

9.dpkg如何删除已有项目

10.JFrog有哪些服务命令


一、实验

1.环境

(1)主机

表1 主机

主机架构版本IP备注
master1K8S master节点1.23.1192.168.204.102

需求部署JFrog Artifactory – 对二进制文件、制品和依赖项进行通用管理

node1K8S node节点1.23.1 192.168.204.104需求部署XRAY- 进行开源漏洞扫描,包括策略和监视

(2) Termius连接主机

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图

(3)查看系统版本

cat /etc/os-release 

master1

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(1)

node1

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(2)

(4) 查看K8S集群

kubectl get node
kubectl get node -o wide

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(3)

(5)查看docker版本

docker -v

master1

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(4)

node1

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(5)

2.Ubuntu 部署 JFrog 制品库 

(1)查阅

http://jfrog.com/download-legacy/

http://jfrog.com/open-source/

最新版为7.84.12

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(6)

(2)关闭防火墙或者开放服务端口

#关闭防火墙
sudo ufw disable 

#查看防火墙状态
sudo ufw status

#开启防火墙
sudo ufw enable

#开放8081、8082端口
sudo ufw allow 8081/tcp
sudo ufw allow 8082/tcp

#重启防火墙
sudo ufw reload

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(7)

(3)检查服务器配置

nproc #检查处理器 cores
free -m #检查内存大小
df -h # 确认文件系统挂载,数据盘默认挂载/var/opt
ulimit -a # 确认 ulimit 是否满足要求
date # 确认时间同步
hostname # 确认主机名(artifactory 自动获取为 node name) 
hostname -i # 确认主机名对应 ip(artifactory 自动获取为 node ip)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(8)研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(9)

(4)下载

选择一个稳定版的Debian安装研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(10)

弹出界面

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(11)

点击下载

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(12)

(5)安装

dpkg -i jfrog-artifactory-pro-7.41.4

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(13)

(6)修改Artifactory配置文件

vim /opt/jfrog/artifactory/var/etc/system.yaml
……
 id: "master1"
 ip: "192.168.204.102"
……

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(14)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(15)

(7)修改systemd文件

vim /etc/systemd/system/artifactory.service

通过Environment=START_TMO=120定义中添加更长的超时时间

修改PIDFile路径为指定路径:/run/artifactory.pid

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(16)

(8) 重新加载配置文件

systemctl daemon-reload

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(17)(9) 生成随机数并写入master.key中

cd /opt/jfrog/artifactory/var/etc/security
touch master.key
openssl rand -hex 16 > master.key 

#以下部署集群时需要
touch join.key
openssl rand -hex 16 > join.key 

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(18)

  (10)授权:

chown -R artifactory:artifactory /opt/jfrog/artifactory/var/log

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(19)

(11)启动服务和查看日志

1)启动服务
systemctl start artifactory.service && systemctl enable artifactory.service

2)查看日志,如下图启动成功 
tail -f /var/opt/jfrog/artifactory/log/console.log

3)查看服务状态
systemctl status artifactory.service

启动

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(20)

查看日志

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(21)

查看服务状态

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(22)

查看端口

lsof -i:8081

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(23)

(12)访问

http://ip:8081

初始用户名:admin
初始密码:password

进入系统

http://192.168.204.102:8082/ui/login/

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(24)

(13)初始化设置

输入账号密码

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(25)

开始设置

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(26)

重设密码

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(27)

需要输入授权文件

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(28)

申请授权

http://www.jfrogchina.com/platform/free-trial/

选择私有部署(登录账号需要企业邮箱)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(29)

设置访问地址

http://192.168.204.102:8082

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(30)

跳过代理设置

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(31)

选择类型

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(32)

根据自身需求选择

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(33)

完成

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(34)

(14)查看界面

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(35)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(36)

(15)获取xray相关验证信息

在User Management->setting->输入password->点击unlock

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(37)

解锁

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(38)

显示Artifactory的Join Key和JFrog URL

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(39)

3.Ubuntu部署 postgresql数据库

(1)创建文件存储库配置

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(40)

(2)导入存储库签名密钥

wget --quiet -O - http://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(41)

(3)更新软件包列表

sudo apt-get update

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(42)

(4)安装

sudo apt-get -y install postgresql-13

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(43)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(44)

(5)启动并查看服务

1)配置开机自启动
systemctl enable postgresql

2)启动postgresql
systemctl start postgresql

3)查看postgresql状态
systemctl status postgresql

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(45)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(46)

(6)创建用户与数据库,授予用户权限

1)进入数据库:
sudo -u postgres psql

2)创建xray用户
CREATE USER xray WITH PASSWORD 'password';

3)创建xraydb库
CREATE DATABASE xraydb WITH OWNER=xray ENCODING='UTF8'; 

4)授权库给用户 
GRANT ALL PRIVILEGES ON DATABASE xraydb TO xray;

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(47)

(7)修改数据库配置与访问IP,允许远程访问

vim  /etc/postgresql/13/main/postgresql.conf

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(48)

vim /etc/postgresql/13/main/pg_hba.conf

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(49)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(50)

(8)重启postgresql

sudo systemctl restart postgresql

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(51)

4.Ubuntu 部署 Xray

(1)node节点修改配置文件

永久修改同一时间打开文件数上限

1)修改/etc/security/limits.conf文件
vim /etc/security/limits.conf

2)在limits.conf文件中插入如下两行设置 (CentOS 开头设置为*,Ubuntu需要设置为用户)
root soft nofile 100000
root hard nofile 100000
root hard nproc 100000
root hard nproc 100000
//* - nofile 100000 也可以用这一行代替上面的两行

3)处理非图像登录
在下面的两文件中加入:DefaultLimitNOFILE=100000

vim /etc/systemd/user.conf 
vim /etc/systemd/system.conf 

4)重启
reboot

5)确认
输入 ulimit -n ,查看系统级是否修改成功
输入 su - root -c 'ulimit -aHS' -s '/bin/bash'  查看用户级是否修改成功
输入 cat /proc/[PID]/limits   查看进程级是否修改成功

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(52)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(53)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(54)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(55)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(56)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(57)

重启

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(58)

确认

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(59)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(60)

(2)查阅

http://jfrog.com/download-legacy/?product=xray&installer=rpm

最新版为3.96.1

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(61)

(3)下载

选择一个稳定版,类型为debian

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(62)

点击下载

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(63)

(4)解压

tar -xvf jfrog-xray-3.33.3-deb.tar.gz

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(64)

(5)安装

cd jfrog-xray-3.33.3-deb
./install.sh

默认安装路径

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(65)

输入Artifactory的JFrog URL

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(66)

输入Artifactory的Join Key

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(67)

输入本机IP

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(68)

单节点输入n

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(69)

连接外部数据库输入n

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(70)依次输入pg数据库地址、用户、密码

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(71)

安装成功

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(72)

完整安装记录:

root@node1:~/jfrog-xray-3.33.3-deb# ./install.sh

Beginning JFrog Xray setup


This script will install Xray and its dependencies.
After installation, logs can be found at /root/jfrog-xray-3.33.3-deb/install.log
[WARN] Running with 3GB Total RAM. Recommended value: 4GB
Running system diagnostics checks, logs can be found at [/root/jfrog-xray-3.33.3-deb/systemDiagnostics.log]

Installation Directory (Default: /var/opt/jfrog/xray): 

The JFrog URL allows Xray to connect to a JFrog Platform Instance.
(You can copy the JFrog URL from Admin > Security > Settings)
JFrog URL: http://192.168.204.102:8082
Attempt to connect JFrogURL succeeded

The Join key is the secret key used to establish trust between services in the JFrog Platform.
(You can copy the Join Key from Admin > Security > Settings)
Join Key: 


For IPv6 address, enclose value within square brackets as follows : []
Please specify the IP address of this machine (Default: 192.168.204.104): 192.168.204.104

Are you adding an additional node to an existing product cluster? [y/N]: n

The installer can install a PostgreSQL database, or you can connect to an existing compatible PostgreSQL database
(http://service.jfrog.org/installer/System+Requirements#SystemRequirements-RequirementsMatrix)
If you are upgrading from an existing installation, select N if you have externalized PostgreSQL, select Y if not.
Do you want to install PostgreSQL? [Y/n]: n

Provide the database connection details
PostgreSQL url. Example: [postgres://:/xraydb?sslmode=disable]: postgres://192.168.204.102:5432/xraydb?sslmode=disable

Database username (If your existing connection URL already includes the username, leave this empty): xray

Database password (If your existing connection URL already includes the password, leave this empty): 


Database connection successfulInstalling/Verifying RabbitMQ dependencies (this may take several minutes)...
Installing missing esl-erlang dependencies requires internet access, proceeding with installation...

Xray Installation

Installing/Verifying Xray (/root/jfrog-xray-3.33.3-deb/xray/xray.deb) (this may take several minutes)...

PostgreSQL Installation


Installation complete. Installation log can be found at [/root/jfrog-xray-3.33.3-deb/install.log]

Start Xray with:
> systemctl start xray.service

Check Xray status with:
> systemctl status xray.service

Installation directory was set to /opt/jfrog/xray
You can find more information in the log directory /opt/jfrog/xray/var/log

System configuration templates can be found under /opt/jfrog/xray/var/etc
Copy any configuration you want to modify from the template to /opt/jfrog/xray/var/etc/system.yaml

(6)启动服务

systemctl start xray.service
systemctl status xray.service

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(73)

(7)查看日志

tail -f /var/opt/jfrog/xray/log/console.log

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(74)

(8)JFrog查看服务

目前只有1个

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(75)

(9)刷新Arifactory,会弹出一个Getting Started页面研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(76)

(10)输入Xray的license

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(77)

这里可以选第一个,把之前的授权复制过来

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(78)

下一步,这里会卡主

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(79)

原因如下

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(80)

也可以自行申请

http://www.jfrogchina.com/xray/

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(81)

5. 使用JFrog 增删项目

(1)新建项目

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(82)

(2)新建

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(83)

(3)完成

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(84)

(4)分配到本地

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(85)

显示已分配

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(86)

(5)分配成员

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(87)

查看已分配成员

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(88)

(6)项目概览

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(89)
 

(7)修改上传大小

选择左下角Artifactory

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(90)

选择Settings

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(91)

默认大小为100M

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(92)

修改

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(93)

(8) 上传制品

大小为1.98GB

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(94)

已上传

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(95)

(9) 删除项目

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(96)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(97)

无法删除

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(98)

先删除资源

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(99)

确认

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(100)

删除成功

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(101)

继续删除已有仓库

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(102)

删除

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(103)

删除成功

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(104)

此时完整项目可以删除成功

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(105)

二、问题

1.Ubuntu 如何通过apt方式部署 JFrog 制品库

 查看java版本

java -version

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(106)

(3)安装java

sudo apt update
sudo apt install -y default-jdk

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(107)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(108)

再次查看版本

java -version

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(109)

(4)将 MariaDB 数据库服务器存储库添加到系统中

curl -LsS http://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s --

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(110)

(5)安装 MariaDB 服务器和客户端软件包

sudo apt update
sudo apt install mariadb-server mariadb-client -y

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(111)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(112)

(6)启动数据库服务

sudo systemctl enable --now mariadb

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(113)

(7)添加JFrog Artifactory存储库

echo "deb http://releases.jfrog.io/artifactory/artifactory-debs xenial main" | sudo tee -a /etc/apt/sources.list.d/artifactory.list;

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(114)

查看

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(115)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(116)

(8)导入存储库 GGP 秘钥

curl -fsSL  http://releases.jfrog.io/artifactory/api/gpg/key/public|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifactory.gpg

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(117)

(9)更新

sudo apt update

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(118)

(10)安装JFrog Artifactory

sudo apt install jfrog-artifactory-oss

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(119)

完整记录:

root@master1:~# sudo apt install jfrog-artifactory-oss
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  gir1.2-goa-1.0
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
  jfrog-artifactory-oss
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 116 个软件包未被升级。
需要下载 1,117 MB 的归档。
解压缩后会消耗 2,087 MB 的额外空间。
获取:1 http://releases.jfrog.io/artifactory/artifactory-debs xenial/main amd64 jfrog-artifactory-oss amd64 7.84.12 [1,117 MB]
已下载 1,117 MB,耗时 29分 23秒 (634 kB/s)                                                                                                          
正在选中未选择的软件包 jfrog-artifactory-oss。
(正在读取数据库 ... 系统当前共安装有 158907 个文件和目录。)
准备解压 .../jfrog-artifactory-oss_7.84.12_amd64.deb  ...
dpkg-query: 没有找到与 artifactory 相匹配的软件包
Checking if group artifactory exists...
Group artifactory doesn't exist. Creating ...
Checking if user artifactory exists...
User artifactory doesn't exist. Creating ...
Checking if artifactory data directory exists
Removing tomcat work directory
正在解压 jfrog-artifactory-oss (7.84.12) ...
正在设置 jfrog-artifactory-oss (7.84.12) ...
Adding the artifactory service to auto-start... DONE

************ SUCCESS ****************
The Installation of Artifactory has completed successfully.

Note: We recommend that you use Artifactory with an external PostgreSQL database.
      For details about how to configure the database, refer to
      http://jfrog.com/help/r/jfrog-installation-setup-documentation/postgresql-for-artifactory

      To run Artifactory with any database other than PostgreSQL (embedded Derby,
      MySQL, Oracle, Microsoft SQL Server and MariaDB),before running Artifactory,
      you are required to set the allowNonPostgresql parameter as true.

      For more information, refer to
      http://jfrog.com/help/r/jfrog-installation-setup-documentation/choose-the-right-database

Start Artifactory with:
> systemctl start artifactory.service

Check Artifactory status with:
> systemctl status artifactory.service


Installation directory was set to /opt/jfrog/artifactory
You can find more information in the log directory /opt/jfrog/artifactory/var/log
System configuration templates can be found under /opt/jfrog/artifactory/var/etc
Copy any configuration you want to modify from the template to /opt/jfrog/artifactory/var/etc/system.yaml

Triggering migration script, this will migrate if needed ...
正在处理用于 systemd (245.4-4ubuntu3.23) 的触发器 ...

(11)启动服务(如报错,请参考问题集)

sudo systemctl start artifactory.service && sudo systemctl enable artifactory.service

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(120)

(12)检查服务状态

systemctl status artifactory.service

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(121)

(13)查看数据库

root@master1:~# cd /opt/jfrog/artifactory/app/misc/db

root@master1:/opt/jfrog/artifactory/app/misc/db# ls
createdb_mariadb.sql  createdb_mssqlBlob.sql  createdb_mssqlRecreateBlob.sql  createdb_mssql.sql  createdb_mysql.sql  createdb_postgres.sql

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(122)

(14)为 JFrog Artifactory 创建 MariaDB 数据库

sudo mariadb -u root

source /opt/jfrog/artifactory/app/misc/db/createdb_mariadb.sql;
exit

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(123)

(14)测试

curl 127.0.0.1:8081

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(124)

 2.Ubuntu 如何通过docker方式部署 JFrog 制品库

(1) 查看端口

lsof -i:8081

8081已被占用

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(125)

(2)拉取镜像

oss社区社区版

docker pull docker.bintray.io/jfrog/artifactory-oss

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(126)

查看镜像

docker images | grep artifactory-oss

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(127)

(3)挂载卷

持久化容器数据

docker volume create data_artifactory

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(128)

(4)查看卷详情

宿主机文件位置

docker volume inspect data_artifactory

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(129)

(5)创建容器

docker run --name jfrog-artifactory -d -v data_artifactory:/var/opt/jfrog/artifactory -p 8011:8081 -p 8012:8082 docker.bintray.io/jfrog/artifactory-oss

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(130)

查看进程

 docker ps | grep jfrog

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(131)

(6)测试

curl 127.0.0.1:8011

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(132)

3.安装jdk报错

(1)报错

等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 29960(unattended-upgr)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(133)

(2)原因分析

这个错误通常是由于其他进程正在使用APT包管理器而导致的。在你的情况下,进程29960(unattended-upgr)正在持有APT的锁。这是因为系统正在进行软件更新或升级。在进行这些操作时,APT会锁定相关文件以防止多个进程同时修改它们,以确保系统的稳定性和一致性。

(3)解决方法

杀掉进程

sudo kill 29960

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(134)

清除锁文件:手动清除,手动清除APT的锁文件

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/cache/apt/archives/lock

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(135)

成功:

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(136)

4.安装JFrog Artifactory报错

(1)报错

 暂时不能解析域名“jfrog-prod-use1-shared-virginia-main.s3.amazonaws.com”
E: 无法下载 http://releases.jfrog.io/artifactory/artifactory-debs/pool/jfrog-artifactory-oss/jfrog-artifactory-oss-7.84.12.deb  暂时不能解析域名“jfrog-prod-use1-shared-virginia-main.s3.amazonaws.com”

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(137)

(2)原因分析

未添加hosts,通过设置host,强制把访问节点重定向。

(3)解决方法

添加hosts:

vim /etc/hosts

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(138)

219.76.4.4 s3.amazonaws.com
219.76.4.4 github-cloud.s3.amazonaws.com

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(139)

5.JFrog Artifactory 启动报错

(1)报错

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(140)

(2)查阅

http://stackoverflow.com/questions/45297704/problems-with-catalina-pid-and-artifactory-pid-while-upgrading-artifactory-to-th

查看日志

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(141)

查看异常

journalctl -xe

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(142)

(3)解决方法

vim /etc/systemd/system/artifactory.service

修改前:

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(143)

修改后:

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(144)

systemctl daemon-reload

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(17)

执行判断

root@master1:~# /opt/jfrog/artifactory/app/bin/artifactoryManage.sh start
/usr/bin/netstat
2024-05-31T05:21:04.973Z [shell] [INFO ] [] [artifactoryManage.sh:87       ] [main] - Starting Artifactory tomcat as user artifactory...
2024-05-31T05:21:05.008Z [shell] [INFO ] [] [installerCommon.sh:1617       ] [main] - Checking open files and processes limits
2024-05-31T05:21:05.048Z [shell] [INFO ] [] [installerCommon.sh:1620       ] [main] - Current max open files is 1024
2024-05-31T05:21:05.089Z [shell] [INFO ] [] [installerCommon.sh:1631       ] [main] - Current max open processes is 15362
yaml validation succeeded
2024-05-31T05:21:05.157Z [shell] [INFO ] [] [installerCommon.sh:2991       ] [main] - System.yaml validation succeeded

Database connection check failed Could not determine database type
2024-05-31T05:21:05.399Z [shell] [INFO ] [] [installerCommon.sh:3493       ] [main] - Setting JF_SHARED_NODE_ID to master1
2024-05-31T05:21:05.521Z [shell] [INFO ] [] [installerCommon.sh:3493       ] [main] - Setting JF_SHARED_NODE_IP to 192.168.204.102
2024-05-31T05:21:05.631Z [shell] [INFO ] [] [installerCommon.sh:3493       ] [main] - Setting JF_SHARED_NODE_NAME to master1
2024-05-31T05:21:05.998Z [shell] [INFO ] [] [artifactoryCommon.sh:221      ] [main] - Using Tomcat template to generate : /opt/jfrog/artifactory/app/artifactory/tomcat/conf/server.xml
2024-05-31T05:21:06.195Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.port||8081} to default value : 8081
2024-05-31T05:21:06.312Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.tomcat.connector.sendReasonPhrase||false} to default value : false
2024-05-31T05:21:06.430Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.tomcat.connector.relaxedPathChars||_SQUARE_BRACKETS_} to default value : _SQUARE_BRACKETS_
2024-05-31T05:21:06.552Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.tomcat.connector.relaxedQueryChars||_SQUARE_BRACKETS_} to default value : _SQUARE_BRACKETS_
2024-05-31T05:21:06.673Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.tomcat.connector.maxThreads||200} to default value : 200
2024-05-31T05:21:06.876Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.tomcat.maintenanceConnector.port||8091} to default value : 8091
2024-05-31T05:21:06.998Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.tomcat.maintenanceConnector.maxThreads||5} to default value : 5
2024-05-31T05:21:07.114Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${artifactory.tomcat.maintenanceConnector.acceptCount||5} to default value : 5
2024-05-31T05:21:07.304Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${access.http.port||8040} to default value : 8040
2024-05-31T05:21:07.423Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${access.tomcat.connector.sendReasonPhrase||false} to default value : false
2024-05-31T05:21:07.544Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${access.tomcat.connector.maxThreads||50} to default value : 50
2024-05-31T05:21:07.782Z [shell] [INFO ] [] [systemYamlHelper.sh:621       ] [main] - Resolved JF_PRODUCT_HOME (/opt/jfrog/artifactory) from environment variable
2024-05-31T05:21:08.046Z [shell] [INFO ] [] [systemYamlHelper.sh:981       ] [main] - Resolved ${shared.tomcat.workDir||/opt/jfrog/artifactory/var/work/artifactory/tomcat} to default value : /opt/jfrog/artifactory/var/work/artifactory/tomcat

========================
JF Environment variables
========================

JF_SHARED_NODE_ID                   : master1
JF_SHARED_NODE_IP                   : 192.168.204.102
JF_ARTIFACTORY_PID                  : /var/run/artifactory.pid
JF_SYSTEM_YAML                      : /opt/jfrog/artifactory/var/etc/system.yaml
JF_PRODUCT_HOME                     : /opt/jfrog/artifactory
JF_ROUTER_TOPOLOGY_LOCAL_REQUIREDSERVICETYPES : jfrt,jfac,jfmd,jffe,jfob,jfevt
JF_SHARED_NODE_NAME                 : master1
2024-05-31T05:21:10.096Z [shell] [ERROR] [] [installerCommon.sh:3379       ] [main] - ##############################################################################
2024-05-31T05:21:10.134Z [shell] [ERROR] [] [installerCommon.sh:3380       ] [main] - Ownership mismatch. You can try executing following instruction and do a restart
2024-05-31T05:21:10.178Z [shell] [ERROR] [] [installerCommon.sh:3381       ] [main] - Command : chown -R artifactory:artifactory /opt/jfrog/artifactory/var/log
2024-05-31T05:21:10.216Z [shell] [ERROR] [] [installerCommon.sh:3382       ] [main] - ##############################################################################

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(145)

出现关键信息:

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(146)

授权:

chown -R artifactory:artifactory /opt/jfrog/artifactory/var/log

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(19)

成功重新启动:

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(120)

再次查看日志

cd /opt/jfrog/artifactory/var/log
ls

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(147)

6.启动artifactory镜像报错

(1)报错

缺少master.key

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(148)

(2)原因分析

未声明变量。

(3)解决方法

export MASTER_KEY=$(openssl rand -hex 32)

echo ${MASTER_KEY}

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(149)

 7.HELM 方式如何安装JFrog

(1)查阅

http://github.com/helm/helm/releases/tag/v3.15.1

目前最新版为v3.15.1

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(150)

(2) 部署HELM

1)安装 helm 
//下载二进制 Helm client 安装包
helm-v3.15.1-linux-amd64.tar.gz
 
tar -zxvf helm-v3.15.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
helm version
 
//命令补全
source <(helm completion bash)

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(151)

(3)添加JFrog HELM仓库

helm repo add jfrog http://charts.jfrog.io

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(152)

(4)更新

 helm repo update

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(153)

(5)查看可用的 JFrog Helm 图表

helm search repo jfrog

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(154)

(6)下载 Helm 图表

helm pull  jfrog/artifactory-oss

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(155)

(7) K8S创建命名空间

kubectl create ns devops-artifactory-dev

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(156)

(8) 创建项目

helm install artifactory-oss \
  --set artifactory.nginx.enabled=false \
  --set artifactory.postgresql.enabled=false \
  --set postgresql.enabled=false \
  --set artifactory.artifactory.service.type=NodePort \
  --set artifactory.artifactory.resources.requests.cpu="500m" \
  --set artifactory.artifactory.resources.limits.cpu="2" \
  --set artifactory.artifactory.resources.requests.memory="1Gi" \
  --set artifactory.artifactory.resources.limits.memory="4Gi" \
  --set artifactory.artifactory.javaOpts.xms="1g" \
  --set artifactory.artifactory.javaOpts.xmx="3g" \
  jfrog/artifactory-oss -n devops-artifactory-dev

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(157)

删除项目

helm unstall artifactory-oss -n devops-artifactory-dev

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(158)

8.安装JFrog报错

(1)报错

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(159)

(2)原因分析

无相关用户。

(3)解决方法

创建相关用户

useradd artifactory
chown artifactory:artifactory /opt/jfrog/artifactory/var/etc

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(160)

成功:

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(161)

9.dpkg如何删除已有项目

(1)  dpkg 查看已安装软件包

dpkg -l

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(162)

dpkg -l | grep jfrog

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(163)

systemctl stop artifactory.service
netstat -antlp | grep 8081

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(164)

(2)删除已有项目

dpkg -r  jfrog-artifactory-pro 

研发效能DevOps: Ubuntu 部署 JFrog 制品库插图(165)

10.JFrog有哪些服务命令

(1)命令

1)停止服务
systemctl stop artifactory.service                         

2)检查服务状态
systemctl status artifactory.service                   
 
3)重启服务
systemctl restart artifactory.service

本站无任何商业行为
个人在线分享 » 研发效能DevOps: Ubuntu 部署 JFrog 制品库
E-->