前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JFrog Artifactory

JFrog Artifactory

原创
作者头像
ZHANGHAO
修改2022-06-19 00:16:49
1.7K0
修改2022-06-19 00:16:49
举报
文章被收录于专栏:张浩的专栏张浩的专栏

JFrog Artifactory 简介

Artifactory 是一个存放制品(Artifacts)的工具。当前,Artifactory 是一个非常有影响力,功能非常强大的工具。

安装

Artifactory 支持下面的方式安装

  1. Linux Archive
  2. Docker
  3. Docker Compose
  4. RPM
  5. Debian
  6. Helm
  7. Mac(Darwin)
  8. Windows

下面用Docker的方式安装,其他安装方式见 Installing Artifactory

Docker 安装 Artifactory

1. 创建 Artifactory home 文件夹和一个空的 system.yaml 文件

代码语言:shell
复制
JFROG_HOME=/opt/jfrog	
mkdir -p $JFROG_HOME/artifactory/var/etc/
cd $JFROG_HOME/artifactory/var/etc/
touch ./system.yaml
chown -R 1030:1030 $JFROG_HOME/artifactory/var 

如果您在Mac计算机上使用Docker,请另外运行以下命令。

代码语言:shell
复制
chmod -R 777 $JFROG_HOME/artifactory/var

自定义产品配置(可选),包括数据库、Java选项和文件存储。

对于 Docker 安装,验证 shared.node.id 和 shared.node.ip 配置添加在system.yaml中。

如果没有手动添加,它们将自动解析为容器的IP,这意味着其他节点和服务将无法访问此实例。

system.yaml 配置如下所示

代码语言:yaml
复制
## @formatter:off
## JFROG ARTIFACTORY SYSTEM CONFIGURATION FILE
## HOW TO USE: comment-out any field and keep the correct yaml indentation by deleting only the leading '#' character.
configVersion: 1
## NOTE: JFROG_HOME is a place holder for the JFrog root directory containing the deployed product, the home directory for all JFrog products.
## Replace JFROG_HOME with the real path! For example, in RPM install, JFROG_HOME=/opt/jfrog

## NOTE: Sensitive information such as passwords and join key are encrypted on first read.
## NOTE: The provided commented key and value is the default.

## SHARED CONFIGURATIONS
## A shared section for keys across all services in this config
shared:
    ## Java 11 distribution to use
    #javaHome: "JFROG_HOME/artifactory/app/third-party/java"

    ## Extra Java options to pass to the JVM. These values add to or override the defaults.
    #extraJavaOpts: "-Xms512m -Xmx2g"

    ## Security Configuration
    security:
    ## Join key value for joining the cluster (takes precedence over 'joinKeyFile')
    #joinKey: "<Your joinKey>"

    ## Join key file location
    #joinKeyFile: "<For example: JFROG_HOME/artifactory/var/etc/security/join.key>"

    ## Master key file location
    ## Generated by the product on first startup if not provided
    #masterKeyFile: "<For example: JFROG_HOME/artifactory/var/etc/security/master.key>"

    ## Maximum time to wait for key files (master.key and join.key)
    #bootstrapKeysReadTimeoutSecs: 120

    ## Node Settings
    node:
    ## A unique id to identify this node.
    ## Default auto generated at startup.
    id: "art1"

    ## Default auto resolved by startup script
    ip: "localhost"

    ## Sets this node as primary in HA installation
    #primary: true

    ## Sets this node as part of HA installation
    #haEnabled: true

    ## Database Configuration
    database:

## One of mysql, oracle, mssql, postgresql, mariadb
## Default Embedded derby

## Example for postgresql
#type: postgresql
#driver: org.postgresql.Driver
#url: "jdbc:postgresql://<your db url, for example: localhost:5432>/artifactory"
#username: artifactory
#password: password

2. 启动Artifactory容器

代码语言:shell
复制
docker run --name artifactory -v $JFROG_HOME/artifactory/var/:/var/opt/jfrog/artifactory -d -p 8081:8081 -p 8082:8082 releases-docker.jfrog.io/jfrog/artifactory-oss:latest

3. 从浏览器访问Artifactory,网址为:http://SERVER_HOSTNAME:8082/ui/。例如,在本地计算机上:http://localhost:8082/ui/

默认的管理员用户:

username: admin

password: password

登录
登录

4. 检查 Artifactory 日志

docker logs -f artifactory

Artifactory 使用

Repository 管理

Artifactory 的仓库分为三种,Local Repository、Remote Repository、Virtual Repository

Local Repository

将制品和二进制文件部署到集中的本地存储库中。

Remote Repository

将远程存储库用作由远程URL管理的存储库的缓存代理。

Virtual Repository

聚合多个Local或者Remote存储库,对外只用提供一个URL。

存储库管理界面
存储库管理界面

JFrog Artifactory 推荐的官方命名

https://jfrog.com/whitepaper/best-practices-structuring-naming-artifactory-repositories/

Gradle

在 Gradle 中使用 Artifactory 分为两个部分,一个是从 Artifactory 解析依赖,另外一个是上传制品到 Artifactory

解析依赖

  1. 添加 Aliyun 的 Maven 远程仓库
  2. 将添加的远程仓库,添加到 libs-release 虚拟仓库中
  3. 在 Artifacts 复制 libs-release 仓库地址
  4. build.gradle 中添加仓库
代码语言:txt
复制
repositories {
    maven {
        url = 'http://localhost:8082/artifactory/libs-release/'
        allowInsecureProtocol = true
    }
}
添加 Aliyun Maven 库
添加 Aliyun Maven 库
复制 libs-release 仓库地址
复制 libs-release 仓库地址

上传制品

-- 待更新 --

Jenkins

-- 待更新 --

参考资料

1 jfrog 官方文档

https://www.jfrog.com/confluence/display/JFROG

2 写给那些想使用 JFrog Artifactory 管理制品的人

https://cloud.tencent.com/developer/article/1746731

3 Aliyun Maven 仓库地址

[

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JFrog Artifactory 简介
  • 安装
    • Docker 安装 Artifactory
      • 1. 创建 Artifactory home 文件夹和一个空的 system.yaml 文件
      • 2. 启动Artifactory容器
      • 3. 从浏览器访问Artifactory,网址为:http://SERVER_HOSTNAME:8082/ui/。例如,在本地计算机上:http://localhost:8082/ui/
      • 4. 检查 Artifactory 日志
  • Artifactory 使用
    • Repository 管理
      • Local Repository
      • Remote Repository
      • Virtual Repository
      • JFrog Artifactory 推荐的官方命名
    • Gradle
      • 解析依赖
      • 上传制品
    • Jenkins
    • 参考资料
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档