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 文件渲染成静态页面,而且还有大量的官方或第三方主题和插件可供扩展。 核心…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
