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

news2024/11/16 15:38:33

目录

一、实验

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连接主机

(3)查看系统版本

cat /etc/os-release 

master1

node1

(4) 查看K8S集群

kubectl get node
kubectl get node -o wide

(5)查看docker版本

docker -v

master1

node1

2.Ubuntu 部署 JFrog 制品库 

(1)查阅

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

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

最新版为7.84.12

(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

(3)检查服务器配置

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

(4)下载

选择一个稳定版的Debian安装

弹出界面

点击下载


(5)安装

dpkg -i jfrog-artifactory-pro-7.41.4

(6)修改Artifactory配置文件

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

(7)修改systemd文件

vim /etc/systemd/system/artifactory.service

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

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

(8) 重新加载配置文件

systemctl daemon-reload

(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 

  (10)授权:

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

(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

启动

查看日志

查看服务状态

查看端口

lsof -i:8081

(12)访问

http://ip:8081

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

进入系统

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

(13)初始化设置

输入账号密码

开始设置

重设密码

需要输入授权文件

申请授权

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

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

设置访问地址

http://192.168.204.102:8082

跳过代理设置

选择类型

根据自身需求选择

完成

(14)查看界面

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

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

解锁

显示Artifactory的Join Key和JFrog URL

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'

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

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

(3)更新软件包列表

sudo apt-get update

(4)安装

sudo apt-get -y install postgresql-13

(5)启动并查看服务

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

2)启动postgresql
systemctl start postgresql

3)查看postgresql状态
systemctl status postgresql

(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;

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

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

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

(8)重启postgresql

sudo systemctl restart postgresql

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   查看进程级是否修改成功

重启

确认

(2)查阅

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

最新版为3.96.1

(3)下载

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

点击下载

(4)解压

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

(5)安装

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

默认安装路径

输入Artifactory的JFrog URL

输入Artifactory的Join Key

输入本机IP

单节点输入n

连接外部数据库输入n

依次输入pg数据库地址、用户、密码

安装成功

完整安装记录:

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 : [<ipv6_address>]
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
(https://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://<IP_ADDRESS>:<PORT>/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

(7)查看日志

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

(8)JFrog查看服务

目前只有1个

(9)刷新Arifactory,会弹出一个Getting Started页面

(10)输入Xray的license

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

下一步,这里会卡主

原因如下

也可以自行申请

https://www.jfrogchina.com/xray/

5. 使用JFrog 增删项目

(1)新建项目

(2)新建

(3)完成

(4)分配到本地

显示已分配

(5)分配成员

查看已分配成员

(6)项目概览


 

(7)修改上传大小

选择左下角Artifactory

选择Settings

默认大小为100M

修改

(8) 上传制品

大小为1.98GB

已上传

(9) 删除项目

无法删除

先删除资源

确认

删除成功

继续删除已有仓库

删除

删除成功

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

二、问题

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

 查看java版本

java -version

(3)安装java

sudo apt update
sudo apt install -y default-jdk

再次查看版本

java -version

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

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

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

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

(6)启动数据库服务

sudo systemctl enable --now mariadb

(7)添加JFrog Artifactory存储库

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

查看

(8)导入存储库 GGP 秘钥

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

(9)更新

sudo apt update

(10)安装JFrog Artifactory

sudo apt install jfrog-artifactory-oss

完整记录:

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 https://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
      https://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
      https://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

(12)检查服务状态

systemctl status artifactory.service

(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

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

sudo mariadb -u root

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

(14)测试

curl 127.0.0.1:8081

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

(1) 查看端口

lsof -i:8081

8081已被占用

(2)拉取镜像

oss社区社区版

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

查看镜像

docker images | grep artifactory-oss

(3)挂载卷

持久化容器数据

docker volume create data_artifactory

(4)查看卷详情

宿主机文件位置

docker volume inspect data_artifactory

(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

查看进程

 docker ps | grep jfrog

(6)测试

curl 127.0.0.1:8011

3.安装jdk报错

(1)报错

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

(2)原因分析

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

(3)解决方法

杀掉进程

sudo kill 29960

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

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

成功:

4.安装JFrog Artifactory报错

(1)报错

 暂时不能解析域名“jfrog-prod-use1-shared-virginia-main.s3.amazonaws.com”
E: 无法下载 https://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”

(2)原因分析

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

(3)解决方法

添加hosts:

vim /etc/hosts

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

5.JFrog Artifactory 启动报错

(1)报错

(2)查阅

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

查看日志

查看异常

journalctl -xe

(3)解决方法

vim /etc/systemd/system/artifactory.service

修改前:

修改后:

systemctl daemon-reload

执行判断

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] - ##############################################################################

出现关键信息:

授权:

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

成功重新启动:

再次查看日志

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

6.启动artifactory镜像报错

(1)报错

缺少master.key

(2)原因分析

未声明变量。

(3)解决方法

export MASTER_KEY=$(openssl rand -hex 32)

echo ${MASTER_KEY}

 7.HELM 方式如何安装JFrog

(1)查阅

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

目前最新版为v3.15.1

(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)

(3)添加JFrog HELM仓库

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

(4)更新

 helm repo update

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

helm search repo jfrog

(6)下载 Helm 图表

helm pull  jfrog/artifactory-oss

(7) K8S创建命名空间

kubectl create ns devops-artifactory-dev

(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

删除项目

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

8.安装JFrog报错

(1)报错

(2)原因分析

无相关用户。

(3)解决方法

创建相关用户

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

成功:

9.dpkg如何删除已有项目

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

dpkg -l

dpkg -l | grep jfrog

systemctl stop artifactory.service
netstat -antlp | grep 8081

(2)删除已有项目

dpkg -r  jfrog-artifactory-pro 

10.JFrog有哪些服务命令

(1)命令

1)停止服务
systemctl stop artifactory.service                         

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1800253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

九种mfc140u.dll丢失的解决方法,全面解决mfc140u.dll文件丢失

mfc140u.dll是 Microsoft Visual C 2015 Redistributable 的一部分&#xff0c;它与 Microsoft 基础类库&#xff08;MFC&#xff09;的 Unicode 版本有关。当您在运行使用 Visual C 2015 开发的应用程序时&#xff0c;可能会碰到关于mfc140u.dll丢失的错误。下面列出了一些解决…

黑龙江等保测评流程

黑龙江的等保测评过程是一个系统严谨的过程&#xff0c;目的在于保证信息系统的安全与机密性符合国家规定的要求。下面将详细介绍黑龙江等保测评的流程&#xff1a; 一、定级与备案 首先&#xff0c;企业要依据自身的业务特点、信息系统的重要性和所承载的信息的敏感程度&…

React - 实现走马灯组件

一、实现效果 二、源码分析 import {useRef, useState} from "react";export const Carousel () > {const images [{id: 3, url: https://sslstage3.sephorastatic.cn/products/2/4/6/8/1/6/1_n_new03504_100x100.jpg}, {id: 1, url: https://sslstage2.sephor…

Spring系统学习 -Spring IOC 的XML管理Bean之bean的获取、依赖注入值的方式

在Spring框架中&#xff0c;XML配置是最传统和最常见的方式之一&#xff0c;用于管理Bean的创建、依赖注入和生命周期等。这个在Spring中我们使用算是常用的&#xff0c;我们需要根据Spring的基于XML管理Bean了解相关Spring中常用的获取bean的方式、依赖注入值的几种方式等等。…

数据结构笔记1 绪论,线性表

学习视频&#xff1a; 第01周c--1.2基本概念和术语1_哔哩哔哩_bilibili 01《数据结构》绪论_哔哩哔哩_bilibili 数据&#xff1a; 1.数值型的数据&#xff1a;整数&#xff0c;实数 2.非数值型的数据&#xff1a;文字、图像.. 数据元素&#xff1a;&#xff08;元素&#xf…

四款优秀的电脑屏幕监控软件|监控电脑屏幕的必备软件

在选择监控电脑屏幕的软件时&#xff0c;我们需要考虑多个因素&#xff0c;包括软件的功能性、易用性、兼容性、安全性以及价格等。以下是几款在市场上广受好评的监控电脑屏幕的软件&#xff0c;它们各自具有独特的特点和优势。 1.安企神软件 安企神软件是一款专业的电脑屏幕监…

【电气学习六】HART仪表与HART信号

【电气学习六】HART仪表与HART信号 学习使人快乐 文章目录 【电气学习六】HART仪表与HART信号前言一、HART仪表是什么&#xff1f;二、HART协议1.什么是HART协议&#xff1f;2.HART协议的工作原理3.HART协议的特点4.HART协议的命令格式5.无源信号与有源信号的定义6.如何采集无源…

编写程序,提示用户输入以米/秒(m/s)为单位的速度v和以米/秒的平方(m/s)为单位的加速度 a,然后显示最短跑道长度。

(物理:求出跑道长度)假设一个飞机的加速度是a而起飞速度是v&#xff0c;那么可以使用下 面的公式计算出飞机起飞所需的最短跑道长度: 编写程序&#xff0c;提示用户输入以米/秒(m/s)为单位的速度v和以米/秒的平方(m/s)为单 位的加速度 a&#xff0c;然后显示最短跑道长度。下面…

C++基础与深度解析 | 模板 | 函数模板 | 类模板与成员函数模板 | concepts | 完美转发 | 模板的其他内容

文章目录 一、函数模板二、类模板与成员函数模板三、Concepts(C20)四、模板相关内容1.数值模板参数与模板模板参数2.别名模板与变长模板3.包展开与折叠表达式4.完美转发与lambda表达式模板5.消除歧义与变量模板 一、函数模板 在C中&#xff0c;函数模板是一种允许你编写可以处理…

GIGE 协议摘录 —— GVCP 协议(二)

系列文章目录 GIGE 学习笔记 GIGE 协议摘录 —— 设备发现&#xff08;一&#xff09; GIGE 协议摘录 —— GVCP 协议&#xff08;二&#xff09; GIGE 协议摘录 —— GVSP 协议&#xff08;三&#xff09; GIGE 协议摘录 —— 引导寄存器&#xff08;四&#xff09; GIGE 协议…

Allure在jenkins中无法显示的问题

jenkins中使用allure生成报告需要注意工作环境和路径的配置 前提条件&#xff1a; jenkins容器中已安装jdk和allure jenkins中配置全局工具环境&#xff1a; 项目中配置allure路径&#xff1a; 路径来源&#xff1a; Path需要选择相对路径的allure-report、allure-results

react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目

文章目录 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目背景Vite 和 (Create React App) CRAVite&#xff1f;Vite 是否支持 TypeScript&#xff1f; 用Vite创建react项目参考 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项…

劝大家:打个工而已,千万不要太老实,上周,我们单位一位兢兢业业,工作了20年的老员工,被公司辞退了...

学习资源已打包&#xff0c;需要的小伙伴可以戳这里 学习资料 在当今社会&#xff0c;职场竞争激烈&#xff0c;每个人都在努力工作&#xff0c;追求自己的目标。然而&#xff0c;随着工作经验的积累和观察的深入&#xff0c;我发现了一些工作中的现象&#xff0c;希望通过本文…

EE trade:通货膨胀时期投资什么最好

当通货膨胀来袭&#xff0c;货币购买力下降&#xff0c;闲置资金贬值速度加快。为了有效抵御通货膨胀&#xff0c;投资者需要选择能够保值甚至增值的投资工具。以下是几种在通货膨胀环境下较为理想的投资选择&#xff1a; 1. 投资股票 收益性和风险性&#xff1a;股票虽然风险…

寻找python库的安装路径

以pip库为例 要找到并修改 pip 库中的 __pip-runner__.py 文件&#xff0c;您可以按照以下步骤操作&#xff1a; 找到 pip 库的安装路径&#xff1a; 通常&#xff0c;Python 库会安装在您的虚拟环境或全局 Python 包目录中。您可以通过以下命令来找到 pip 库的路径&#xff1…

【代码随想录】【算法训练营】【第28天】 [93]复原IP地址 [78]子集 [90]子集II

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 28&#xff0c;工作的周二~ 题目详情 [93] 复原 IP 地址 题目描述 93 复原 IP 地址 解题思路 前提&#xff1a;分割问题 思路&#xff1a;回溯算法&#xff0c;确定每次递归回溯的分割位置…

【CTF-Web】XSS漏洞学习笔记(附ctfshow web316-333题目)

XSS 跨站脚本攻击 文章目录 XSS 跨站脚本攻击What is XSS&#xff1f;How to lead XSS&#xff1f;Where is the XSS&#xff1f;CookieHow to use XSS&#xff1f;反射型XSS存储型XSSDom-Based XSS Then Lets see the XSS in CTF各种过滤绕过学习web316Web317-319Web319-321We…

[经验] 蝉联一词的含义是什么 #知识分享#职场发展

蝉联一词的含义是什么 蝉联这个词起源于古代中国&#xff0c;最初是指天子连续两年以上的年号相同。后来&#xff0c;这个词被用于形容某个人或某个团体连续多次获得某种荣誉或奖项的情况。在现代生活中&#xff0c;我们常常听到某个体育运动员蝉联冠军、某个企业蝉联业绩排行榜…

编写程序提示用户输入一个数目(例如:100)、年利率(例如:5)以及月份数(例如:6),然后显示给定月份后账户上的钱数。

(财务应用程序:复利值)假设你每月向银行账户存 100美元&#xff0c;年利率为5%&#xff0c;那么每 月利率是 0.05/12-0.00417。 第一个月之后&#xff0c;账户上的值就变成:100*(10.00417)100.417 第二个月之后&#xff0c;账户上的值就变成(100100.417)*(10.00417)-201.252 第…

MySQL(三) - 基础操作

一、索引 由于我们在使用数据库的时候&#xff0c;大部分操作的都是查询操作&#xff0c;但是我们每一次进行查询都需要遍历一遍表中所有数据&#xff0c;这会花费O(n)的时间&#xff0c;因此数据引入了“索引” 也就是在底层使用了数据结构来进行优化查询的操作&#xff0c;但…