jfrog artifactory oss社区版,不支持php composer私库
一、docker安装
安装环境:centos操作系统,root用户。
如果是mac或ubuntu等操作系统的话,会有许多安装的坑等着你。
一切都是徒劳,安装折腾那么久,最后还是不能使用。这就是写本文的初衷,切勿入坑就对了。
version: "3.3"
services:artifactory-service:image: docker.bintray.io/jfrog/artifactory-oss:7.49.6container_name: artifactoryrestart: alwaysnetworks:- ci_netports:- 8089:8081- 8090:8082volumes:- artifactory:/var/opt/jfrog/artifactoryvolumes:artifactory:
networks:ci_net:

二、设置向导
- 登录地址: http://192.168.5.6:8090/ui/login
- 初始用户名和密码是: admin / password

在首次使用的向导中,会让我们设置一个更为安全的密码。
最后就是使用了。
三、社区版的坑
jfrog artifactory oss社区版,不支持composer/npm等私库,远不如nexus好。
建议看到这里的朋友,就不要入坑jfrog artifactory了。
当然pro企业版是支持的啦,目的就是一个收费。
于是,大多数中小企业只能割舍它了。

附录、mac和ubuntu系统安装踩坑记录
1、读取目录的权限不足
Preparing to run Artifactory in DockerRunning as uid=1030(artifactory) gid=1030(artifactory) groups=1030(artifactory)Dockerfile for this image can found inside the container.To view the Dockerfile: 'cat /docker/artifactory-oss/Dockerfile.artifactory'.Copying Artifactory bootstrap files2024-11-04T03:49:03.677Z [shell] [INFO ] [] [installerCommon.sh:3568 ] [main] - Mapping value from deprecated key EXTRA_JAVA_OPTIONS to new key JF_SHARED_EXTRAJAVAOPTS2024-11-04T03:49:04.163Z [shell] [INFO ] [] [installerCommon.sh:1632 ] [main] - Checking open files and processes limits2024-11-04T03:49:04.183Z [shell] [INFO ] [] [installerCommon.sh:1635 ] [main] - Current max open files is 10485762024-11-04T03:49:04.205Z [shell] [INFO ] [] [installerCommon.sh:1646 ] [main] - Current max open processes is unlimited[WARN ] Error while initializing File resolver : Config file does not exists : /opt/jfrog/artifactory/var/etc/system.yamlDatabase connection check failed Could not determine database type2024-11-04T03:49:04.280Z [shell] [INFO ] [] [installerCommon.sh:1715 ] [main] - Testing directory /opt/jfrog/artifactory/var has read/write permissions for user id 1030/opt/jfrog/artifactory/app/bin/installerCommon.sh: line 1685: /opt/jfrog/artifactory/var/test-permissions: Permission denied2024-11-04T03:49:04.305Z [shell] [INFO ] [] [installerCommon.sh:1723 ] [main] - ###########################################################2024-11-04T03:49:04.325Z [shell] [INFO ] [] [installerCommon.sh:1724 ] [main] - /opt/jfrog/artifactory/var DOES NOT have proper permissions for user id 10302024-11-04T03:49:04.345Z [shell] [INFO ] [] [installerCommon.sh:1725 ] [main] - Directory: /opt/jfrog/artifactory/var, permissions: 775, owner: UNKNOWN, group: UNKNOWN2024-11-04T03:49:04.366Z [shell] [INFO ] [] [installerCommon.sh:1726 ] [main] - Mounted directory must have read/write permissions for user id 10302024-11-04T03:49:04.387Z [shell] [INFO ] [] [installerCommon.sh:1727 ] [main] - ###########################################################2024-11-04T03:49:04.410Z [shell] [ERROR] [] [installerCommon.sh:812 ] [main] - Directory /opt/jfrog/artifactory/var has bad permissions for user id 1030
2、Master key is missing
2024-11-04T06:53:48.319Z [jfrou] [INFO ] [1c216118873c8e06] [security_keys.go:172 ] [main ] [] - Master key is missing. Pending for 110 seconds with 5m0s timeout2024-11-04T06:53:48.503Z [jfmd ] [INFO ] [ ] [security_keys.go:172 ] [main ] - Master key is missing. Pending for 110 seconds with 2m0s timeout [init]2024-11-04T06:53:48.665Z [jfevt] [INFO ] [724d295281f930a5] [security_keys.go:172 ] [main ] [ ] - Master key is missing. Pending for 110 seconds with 2m0s timeout [startup]2024-11-04T06:53:49.124Z [jfob ] [INFO ] [6fd11037508f616d] [security_keys.go:172 ] [main ] - Master key is missing. Pending for 110 seconds with 2m0s timeout [startup]2024-11-04T06:53:49.800Z [jffe ] [INFO ] [] [frontend-service.log] [main ] - pinging artifactory, attempt number 1102024-11-04T06:53:49.803Z [jffe ] [INFO ] [] [frontend-service.log] [main ] - pinging artifactory attempt number 110 failed with code : ECONNREFUSED
3、join.key不存在
2024-11-05T02:53:38.183Z [jfmd ] [ERROR] [ ] [keys.go:23 ] [main ] - Cluster join: Failed resolving join key: failed resolving 'shared.security.joinKey' key; file does not exist: /opt/jfrog/artifactory/var/etc/security/join.key,
goroutine 1 [running]:,
runtime/debug.Stack(),/src/runtime/debug/stack.go:24 +0x5e,
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).Panicfc(0xc000ae0900, {0x2d7b978, 0xc0009ebe90}, {0xc000740000, 0x9e}, {0x0, 0x0, 0x0}),goroot/pkg/mod/jfrog.com/jfrog-go-commons/v7@v7.120.0/pkg/log/standard_logger.go:98 +0xc5,
jfrog.com/metadata/v7/services/common.MustResolveSecurityKeys({0x2d7b978, 0xc0009ebe90}, {0x2d835e8, 0xc0009c0d70}, {0x2d901e8, 0xc000ae0900}),jfrog.com/metadata/v7@v7.90.0/services/common/keys.go:23 +0x1c6,
main.main(),jfrog.com/metadata/v7@v7.90.0/metadata.go:35 +0x2ec,[init],
panic: Cluster join: Failed resolving join key: failed resolving 'shared.security.joinKey' key; file does not exist: /opt/jfrog/artifactory/var/etc/security/join.key,
goroutine 1 [running]:,
runtime/debug.Stack(),/src/runtime/debug/stack.go:24 +0x5e,
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).Panicfc(0xc000ae0900, {0x2d7b978, 0xc0009ebe90}, {0xc000740000, 0x9e}, {0x0, 0x0, 0x0}),goroot/pkg/mod/jfrog.com/jfrog-go-commons/v7@v7.120.0/pkg/log/standard_logger.go:98 +0xc5,
jfrog.com/metadata/v7/services/common.MustResolveSecurityKeys({0x2d7b978, 0xc0009ebe90}, {0x2d835e8, 0xc0009c0d70}, {0x2d901e8, 0xc000ae0900}),jfrog.com/metadata/v7@v7.90.0/services/common/keys.go:23 +0x1c6,
main.main(),jfrog.com/metadata/v7@v7.90.0/metadata.go:35 +0x2ec,
,
,
goroutine 1 [running]:,
jfrog.com/jfrog-go-commons/v7/pkg/log.defaultEventFactory.(*Logger).Panic.func1({0xc00003a600?, 0x0?}),goroot/pkg/mod/github.com/rs/zerolog@v1.33.0/log.go:405 +0x27,
github.com/rs/zerolog.(*Event).msg(0xc000b0e000, {0xc00003a600, 0x2ee}),goroot/pkg/mod/github.com/rs/zerolog@v1.33.0/event.go:158 +0x2b9,
github.com/rs/zerolog.(*Event).Msgf(0xc000b0e000, {0xc00086c2c0?, 0x4316440?}, {0xc000a43ce8?, 0x4319d00?, 0x3?}),goroot/pkg/mod/github.com/rs/zerolog@v1.33.0/event.go:131 +0x46,
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).logMessage(0xc000ae0900, {0x2d7b978, 0xc0009ebe90}, 0x5, {0xc00086c2c0, 0xa1}, {0xc000a43ce8, 0x1, 0x1}),goroot/pkg/mod/jfrog.com/jfrog-go-commons/v7@v7.120.0/pkg/log/standard_logger.go:127 +0x2b8,
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).Panicfc(0xc000ae0900, {0x2d7b978, 0xc0009ebe90}, {0xc000740000, 0x9e}, {0x0, 0x0, 0x0}),goroot/pkg/mod/jfrog.com/jfrog-go-commons/v7@v7.120.0/pkg/log/standard_logger.go:99 +0x1c5,
jfrog.com/metadata/v7/services/common.MustResolveSecurityKeys({0x2d7b978, 0xc0009ebe90}, {0x2d835e8, 0xc0009c0d70}, {0x2d901e8, 0xc000ae0900}),jfrog.com/metadata/v7@v7.90.0/services/common/keys.go:23 +0x1c6,
main.main(),jfrog.com/metadata/v7@v7.90.0/metadata.go:35 +0x2ec,
2024-11-05T02:53:38.229Z [jfevt] [FATAL] [4a76e1fc9995d6af] [bootstrap.go:161 ] [main ] [ ] - Cluster join: Failed resolving join key: failed resolving 'shared.security.joinKey' key; file does not exist: /opt/jfrog/artifactory/var/etc/security/join.key [startup],
相关文章:
jfrog artifactory oss社区版,不支持php composer私库
一、docker安装 安装环境:centos操作系统,root用户。 如果是mac或ubuntu等操作系统的话,会有许多安装的坑等着你。 一切都是徒劳,安装折腾那么久,最后还是不能使用。这就是写本文的初衷,切勿入坑就对了。 …...
华为OD机试真题-用户调度问题-2024年OD统一考试(E卷)
最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述 在通信系统中,一…...
前端与后端长连接 方法
1、SSE 一、SSE的主要特点 单向通信:SSE是服务器向客户端的单向通信,客户端不能直接通过SSE向服务器发送消息。文本数据流:SSE传输的主要是文本数据(通常是JSON格式),不适合二进制数据。自动重连&a…...
建议AI产品经理面试准备到这个程度再去
AI产品经理的面试整体的难度不高,和面试官探讨了很多关于做AI平台的方向和思考,其中AI智能客服的搭建被问到的次数最多!面试官也解释了很多他们现在碰到的业务问题和解决方案,收获还是很多的~ ⏭️AI智能客服项目如下 1️⃣ 【预…...
智能交通的未来:深度学习如何改变车辆检测游戏规则
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
家具制造的效率与美观并重,玛哈特矫平机让家具产品更具竞争力。
在家具制造业中,效率与美观度的双重追求一直是企业关注的焦点。一方面,高效率的生产流程能够缩短交货周期,降低成本,提升企业的市场竞争力;另一方面,美观大方的家具设计则能吸引消费者的目光,提…...
交叉编译gcc
文章目录 前言下载gcc下载依赖项下载其他依赖项 configure选项--enable-languagesCXX和CXX_FOR_TARGETCFLAGS和CXXFLAGS--with-build-time-tools 使用小结 前言 前一阵用qemu做了个基于virt板卡的虚拟机,在不断完善,这两天想添加一个gcc进去,…...
[VUE]框架网页开发1 本地开发环境安装
前言 其实你不要看我的文章比较长,但是他就是很长!步骤其实很简单,主要是为新手加了很多解释! 步骤一:下载并安装 Node.js 访问 Node.js 官网: Node.js — Download Node.js 下载 Windows 64 位版本&…...
【MySQL】——数据库恢复技术
💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux…...
乡村景区一体化系统(门票,餐饮,便利店,果园,娱乐,停车收费
一、一体化优势 1. 提升游客体验:游客可以通过一个系统方便地完成各种消费和预订,无需在不同的地方分别处理,节省时间和精力,使游玩过程更加顺畅和愉快。 2. 提高管理效率:景区管理者能够在一个平台上集中管理多个业…...
从零开始的c++之旅——继承
1. 继承 1.继承概念及定义 继承是面向对象编程的三大特点之一,它使得我们可以在原有类特性的基础之上,增加方法 和属性,这样产生的新的类,称为派生类。 继承 呈现了⾯向对象程序设计的层次结构,以前我们接触的…...
电路知识的回顾
参考这个blog,快速回顾一些概念。 电路模型和规律 电路的概念 电路是电子学中的一个基本概念,它是由各种元件按照一定的方式连接起来形成的闭合路径,用来传输电流或电信号。在电路中,电流从电源的一端流出,通过导线…...
使用 `Celery` 配合 `RabbitMQ` 作为消息代理,实现异步任务的调度、重试、定时任务以及错误监控等功能
python基础代码、优化、扩展和监控的完整示例。此示例使用 Celery 配合 RabbitMQ 作为消息代理,实现异步任务的调度、重试、定时任务以及错误监控等功能。 项目结构 我们将项目结构组织如下,以便代码逻辑清晰且易于扩展: project/ │ ├──…...
react-router与react-router-dom的区别
写法上的区别: 写法1: import {Swtich, Route, Router, HashHistory, Link} from react-router-dom;写法2: import {Switch, Route, Router} from react-router; import {HashHistory, Link} from react-router-dom;react-router实现了路由的核心功能 react-router-…...
【研究生必看】把选题和文献交给AI,轻松搞定毕业论文!
在学习和研究的过程中,选题和文献录入真的是让人头疼的事情。面对一堆资料,很多时候我们会感到无从下手,甚至有点焦虑。不过,大家别担心!现在有了像“梅子AI论文”这样的工具,可以帮助我们轻松搞定这些问题…...
Android中同步屏障(Sync Barrier)介绍
在 Android 中,“同步屏障”(Sync Barrier)是 MessageQueue 中的一种机制,允许系统临时忽略同步消息,以便优先处理异步消息。这在需要快速响应的任务(如触摸事件和动画更新)中尤为重要。 在 An…...
真·香!深度体验 zCloud 数据库云管平台 -- DBA日常管理篇
点击蓝字 关注我们 zCloud 作为一款业界领先的数据库云管平台,通过云化自治的部署能力、智能巡检和诊断能力、知识即代码的沉淀能力,为DBA的日常管理工作带来了革新式的简化与优化。经过一周的深度体验,今天笔者与您深入探讨 zCloud 在数据库…...
优雅的遍历JSONArray,获取里面的数据
最近看到有个同事在遍历json数组的时候,用for循环写了一层有一层,那么是否有简便的写法呢?当然有了,下面就有用流的行驶,优雅的遍历数组,获取我们想要的数据 public static void main(String[] args) {Str…...
C#:强大而优雅的编程语言
在当今的软件开发领域,C#作为一种广泛应用的编程语言,以其强大的功能、优雅的语法和丰富的生态系统,受到了众多开发者的喜爱。本文将深入探讨 C#的各个方面,展示它的魅力和优势。 一、C#的历史与发展 C#是由微软公司开发的一种面…...
一个由Deno和React驱动的静态网站生成器
大家好,今天给大家分享一个由 Deno React 驱动的静态网站生成器Pagic。 项目介绍 Pagic 是一个由 Deno React 驱动的静态网站生成器。它配置简单,支持将 md/tsx 文件渲染成静态页面,而且还有大量的官方或第三方主题和插件可供扩展。 核心…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
