云客户?
免费开始>
在MyJFrog >中升级
云有什么新>







概述

升级Artifactory的过程取决于您的安装类型。我们强烈建议您在继续升级之前阅读此页。

升级到版本7。第一次X ?

建议您先复习一下有什么新鲜事使用最新的JFrog平台。回顾重大更改、已弃用特性等。

在升级Artifactory之前,您需要关闭Artifactory服务。在升级过程中,Artifactory将不会在线。在继续升级之前,请考虑到此停机时间。

系统需求

升级Artifactory前,请参考系统需求有关支持的平台、支持的浏览器和其他需求的信息。要了解HA体系结构,请参见系统架构

请注意:确保使用与最初安装Artifactory时相同的升级方法(RPM、Debian、Docker等)。

在继续之前

为了确保在升级过程中遇到任何问题时可以恢复Artifactory和数据库,我们强烈建议您确保系统和数据库备份是最新的

升级前,请确保指定join.keysystem.yaml文件。属性中未指定连接键system.yaml文件,升级后的Artifactory节点可能无法启动,无法加入HA集群。有关system.yaml配置,请参阅Artifactory系统YAML

Oracle数据库用户

Artifactory 7。x需要一个新的设置来连接到Oracle数据库。有关更多信息,请参见配置Artifactory使用Oracle

MySQL数据库用户

Artifactory 7.25.5及更高版本附带的OpenJDK版本阻止使用TLS 1.0或1.1的连接。如果无法将数据库升级到支持TLS 1.2或更高版本的版本,则必须显式启用这些连接。有关更多信息,请参见启用TLS 1.0和1.1与旧数据库连接

港口的要求

在启动升级过程之前,确保各种Artifactory微服务所需的端口是打开的。有关Artifactory所需端口的更多信息,请参见系统需求

x射线手工制作

您是否有多个Artifactory实例连接到您的单个x射线实例?

当升级到JFrog平台时,Xray必须只连接到一个Artifactory实例。如果您有一个Xray实例连接到多个Artifactory实例,请在继续任何升级之前使用以下选项之一:

选项1(推荐):保留一个连接的Artifactory实例到您的单个x射线实例,并将其余的升级到版本7。x与新安装的Xray版本3。x实例。该选项将需要重新索引额外的Artifactory实例,并将导致一些配置数据的丢失。了解更多>

选项2:安装额外的x射线版本2。为每个Artifactory实例创建x实例,并恢复所有MongoDB和PostgreSQL数据。继续将每个Artifactory和x射线对升级到版本7。X和版本3.x。只有当您必须保留所有Xray配置并在新实例中轻松地重新配置它们时,才建议使用此过程。了解更多>

升级x射线之前

升级过程可能需要一段时间才能完成,您应该考虑在Xray不可用时启用“允许下载”,并在Xray Configuration页面中启用“允许下载阻塞工件”复选框,以防止Artifactory无法响应用户请求。

安装类型

在下面不同的安装说明中,安装类型被引用为

订阅类型 安装类型 下载软件包

箴X
企业
企业+
下载链接
Artifactory OSS
oss 下载链接
JFrog货柜注册处
jcr 下载链接

升级步骤

升级过程主要包括以下步骤:

  1. 下载软件包升级(Linux Archive, RPM, Debian, Docker Compose, Helm)。
  2. 停止当前服务器
  3. 解压/安装包根据安装分配类型。
  4. 检查迁移日志并检查system.yaml验证迁移是否成功(仅适用于从v6.x升级)。
  5. 启动服务使用启动脚本或操作系统服务管理。
  6. 检查Artifactory日志获取服务的状态。

默认主目录/ $JFROG_HOME

默认的Artifactory主目录根据安装类型定义。有关更多详细信息,请参阅JFrog产品目录结构

请注意:本指南使用JFROG_HOME美元表示包含已部署产品的JFrog根目录,即所有JFrog产品的主目录。hth华体会最新官方网站

JFrog订阅级别

自托管

箴X
企业
企业+
页面内容


从6.10以下版本升级

从6.10以下版本升级。X,您首先需要升级到版本6.10。X(或任意6)。6.10.x以上版本)升级Artifactoryx文档,然后继续从版本6.10升级到7.x。

升级前,请确保您使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。



从版本6.10升级。到7.x

7中的版本如下表所示。您可以从特定版本的6.x升级。

从6升级。x版本 升级到7。x版本
Artifactory版本6.23.21及以上 Artifactory 7.21.3及以上版本
Artifactory版本6.23.15及以上 Artifactory 7.17.5及以上版本
Artifactory版本6.23.13及以上 Artifactory 7.16.0及以上版本
Artifactory版本6.23.7及以上 Artifactory 7.12.6及以上版本
Artifactory版本6.23.3及以上 Artifactory 7.11版。X及以上
Artifactory版本6.23.1及以上 Artifactory 7.10版。X及以上
Artifactory版本6.23.0及以上 Artifactory 7.10版。X及以上
Artifactory版本6.22。X及以上 Artifactory 7.9版。X及以上
Artifactory版本6.21。X及以上 Artifactory 7.7版本。X及以上
Artifactory版本6.20。X及以上 Artifactory 7.5版。X及以上
Artifactory版本6.19。X及以上 Artifactory 7.4.2及以上版本
Artifactory版本6.18。X及以上

Artifactory 7.3.2及以上版本

Artifactory版本6.10。X到6.17x 任何版本的Artifactory 7.x

除了上面列出的例外情况,您可以升级到任何版本的7。X从6.10的任何版本升级。X及以上。

如果使用S3作为文件存储,在从6.23.28及更高版本(6.23.28、6.23.31、6.23.33、6.23.36、6.23.37、6.23.38)升级到版本7之前。x,以非加密的明文格式提供S3凭据。由于7.x版本中加密算法的更改,Artifactory将不再能够解密加密的凭据。升级后无法启动。证书在升级后会自动加密。

Artifactory 7.x中引入了几个新概念,改进安装和定制流程.例如,一个系统。yaml文件保存了您对Artifactory安装所做的配置和自定义。Artifactory在升级期间保留您的配置。

Artifactory 6。x访问admin而且arti-admin用户分别为Access和Artifactory。在Artifactory 7。X,一个全局管理用户处理跨服务的管理。的访问admin而且arti-admin升级过程中仍然保留用户。您可以在升级完成后安全地删除这些用户。

支持以下升级方式:

Linux档案升级

迁移是Linux存档安装的一个手动过程。下面的步骤还包括复制目录并运行迁移脚本

确保运行Artifactory的用户在服务器上运行所有命令。

  1. 停止当前服务器。

    cd $ARTIFACTORY_HOME/bin ./artifactoryctl stop . sh
  2. 提取压缩归档文件的内容并将其移动到artifactory目录

    Tar -xvf jfrog-artifactory---linux. Tar .gz mkdir jfrog mv artifactory-- jfrog/artifactory .gz
  3. 设置你的ARTIFACTORY_HOME而且JFROG_HOME变量。
    请注意:ARTIFACTORY_HOME美元变量指向现有的安装,而JFROG_HOME美元变量指向新的安装。

    export ARTIFACTORY_HOME=<当前Artifactory安装的路径> export JFROG_HOME=< jfrog目录的完整路径,例如:/opt/jfrog> export JF_PRODUCT_HOME=$JFROG_HOME/ Artifactory
  4. 将目录从当前路径复制到新路径。

    下面是您需要从当前路径复制到新路径的目录。
    BASH中提供了下面的示例,将数据从版本6的安装复制到版本7。


    强制性的措施

    # Artifactory data mkdir -p $JFROG_HOME/ Artifactory /var/data/ Artifactory / cp -rp $ARTIFACTORY_HOME/data/。$JFROG_HOME/artifactory/var/data/artifactory/ #访问数据mkdir -p $JFROG_HOME/artifactory/var/data/ Access / cp -rp $ARTIFACTORY_HOME/ Access /data/。$JFROG_HOME/artifactory/var/data/access/ # Replicator data #注:如果你从未使用过artifactory Replicator #你的$ARTIFACTORY_HOME/ Replicator /目录将是空的mkdir -p $JFROG_HOME/artifactory/var/data/ Replicator / cp -rp $ARTIFACTORY_HOME/ Replicator /data/。$JFROG_HOME/artifactory/var/data/replicator/ # artifactory config mkdir -p $JFROG_HOME/artifactory/var/etc/artifactory/ cp -rp $ARTIFACTORY_HOME/etc/。$JFROG_HOME/artifactory/var/etc/artifactory/ #访问配置mkdir -p $JFROG_HOME/artifactory/var/etc/ Access / cp -rp $ARTIFACTORY_HOME/ Access /etc/。$JFROG_HOME/artifactory/var/etc/access/ # Replicator config #注意:如果你从未使用过artifactory Replicator #你的$ARTIFACTORY_HOME/ Replicator /目录将是空的mkdir -p $JFROG_HOME/artifactory/var/etc/ Replicator / cp -rp $ARTIFACTORY_HOME/ Replicator /etc/。$JFROG_HOME/artifactory/var/etc/replicator/ # master。cp -p $ARTIFACTORY_HOME/etc/security/master. key mkdir -p $JFROG_HOME/artifactory/var/etc/security/ security/ cp -p $ARTIFACTORY_HOME/etc/security/master. key关键JFROG_HOME美元/ artifactory / var / etc /安全/主人。key # server.xml mkdir -p $JFROG_HOME/artifactory/var/work/old cp -p $JFROG_HOME/artifactory/var/work/old/server.xml # artifactory.defaults cp -rp $JFROG_HOME/artifactory/var/work/old/server.xml # artifactory.defaults如果artifactory安装了服务cp -rp $JFROG_HOME/ etc/default $JFROG_HOME/artifactory/var/work/old/artifactory.default #外部数据库驱动,例如:mysql-connector-java-.jar mkdir -p $JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib cp -rp $ARTIFACTORY_HOME/tomcat/lib/<您的数据库驱动> $JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib/<您的数据库驱动> #删除旧链接的logback.xml。 Please consider migrating manually anything that is customized here rm -f $JFROG_HOME/artifactory/var/etc/artifactory/logback.xml rm -f $JFROG_HOME/artifactory/var/etc/access/logback.xml # Move Artifactory logs mkdir -p $JFROG_HOME/artifactory/var/log/archived/artifactory/ cp -rp $ARTIFACTORY_HOME/logs/. $JFROG_HOME/artifactory/var/log/archived/artifactory/ # Move configuration files # Note: Run the following only when upgrading from Artifactory version 6.x to version 7.5.x and above. mkdir -p $JFROG_HOME/artifactory/var/etc/artifactory/old mkdir -p $JFROG_HOME/artifactory/var/etc/access/old mkdir -p $JFROG_HOME/artifactory/var/etc/replicator/old cp $JFROG_HOME/artifactory/var/etc/artifactory/db.properties $JFROG_HOME/artifactory/var/etc/artifactory/old/db.properties cp $JFROG_HOME/artifactory/var/etc/artifactory/ha-node.properties $JFROG_HOME/artifactory/var/etc/artifactory/old/ha-node.properties cp $JFROG_HOME/artifactory/var/etc/access/db.properties $JFROG_HOME/artifactory/var/etc/access/old/db.properties cp $JFROG_HOME/artifactory/var/etc/replicator/replicator.yaml $JFROG_HOME/artifactory/var/etc/replicator/old/replicator.yaml

    HA的步骤
    中的任何相对路径美元ARTIFACTORY_HOME / etc / ha-node.properties具有绝对路径的文件。

    例如:
    #相对路径artificial .ha.data。Dir =artifactory-ha #绝对路径artifactory.ha.data.dir=/var/opt/jfrog/artifactory-ha

    可选步骤

    # Artifactory backup(可选)mkdir -p $JFROG_HOME/ Artifactory /var/backup/ Artifactory / cp -rp $ARTIFACTORY_HOME/backup/。$JFROG_HOME/artifactory/var/backup/artifactory/ #访问备份(可选)mkdir -p $JFROG_HOME/artifactory/var/backup/ Access / cp -rp $ARTIFACTORY_HOME/ Access /data/。$JFROG_HOME/artifactory/var/backup/access/ # Replicator backup(可选)mkdir -p $JFROG_HOME/artifactory/var/backup/ Replicator / cp -rp $ARTIFACTORY_HOME/ Replicator /data/。$JFROG_HOME/artifactory/var/backup/replicator/ #访问日志(可选)mkdir -p $JFROG_HOME/artifactory/var/log/archived/ Access / cp -rp $ARTIFACTORY_HOME/ Access /logs/。$JFROG_HOME/artifactory/var/log/archived/access/ # Replicator logs(可选)mkdir -p $JFROG_HOME/artifactory/var/log/archived/ Replicator / cp -rp $ARTIFACTORY_HOME/ Replicator /logs/。美元JFROG_HOME / artifactory / var / log /归档/复制因子
  5. 使用与当前Artifactory安装中相同的权限运行迁移脚本。该脚本将根据新的文件系统布局复制并将当前配置转换为新的配置格式。

    迁移脚本只迁移配置值。在Artifactory 6中添加到配置文件中的任何注释。X安装不会被迁移。

    cd $JFROG_HOME/artifactory/app/bin ./ migration .sh

    当使用Linux Archive升级Artifactory时,您将需要验证复制的目录和复制的内容是否拥有正确的所有者。

    如果您正在使用默认值用户:组时,会自动分配所有者artifactory: artifactory,您将不需要采取任何进一步的操作(升级将默认使用这些)。

    但是,如果您正在使用自定义用户:组,然后你需要去Artifactorysystem.yaml文件并使用自定义更新它用户:组.然后需要确保目录具有相同的用户和组。

  6. 检查以下文件,确认迁移已经成功完成:
    -迁移日志美元JFROG_HOME / artifactory / var / log / migration.log
    ——system.yaml配置$ JFROG_HOME / artifactory / var / etc / system.yaml
    这个新创建的文件将包含新格式的当前自定义配置。
  7. 如果Artifactory在以前的版本中是作为服务安装的,那么这个版本也要作为服务安装。

    当较早的版本作为服务安装时,重要的是将新版本也作为服务更新。否则,重新启动服务器可能会导致出现较旧版本的Artifactory。

    cd $JFROG_HOME/artifactory/app/bin ./installService.sh
  8. 管理Artifactory。

    $ JFROG_HOME / artifactory / app / bin / artifactoryctl开始| |停止检查
  9. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

    如果你有一个反向代理或负载均衡器配置你的Artifactory 6.x,你需要去创造一个新的反向代理配置并更新反向代理设置。

    您可以通过访问升级后的Artifactory服务器UI(默认情况下)生成新的配置模板http://localhost:8082/ui/),浏览至
    管理> Artifactory >常规> HTTP设置调整你的反向代理设置并生成一个新的配置模板。看到反向代理设置


  10. 检查Artifactory日志。

    tail -f $JFROG_HOME/artifactory/var/log/console.log

码头工人升级

Docker升级仅适用于从Artifactory 6升级。x到Artifactory 7.4.1及以上版本。

  1. 使用本地Docker命令停止并删除Artifactory。

    例如
    Docker stop artifactory Docker rm -f artifactory
  2. 设置当前Artifactory主目录的路径,并确保正确设置了目录权限。

    export ARTIFACTORY_HOME=<挂载路径到当前Artifactory数据目录> chown -R 1030:1030 $ARTIFACTORY_HOME
  3. 启动Artifactory容器

    docker run -e ENABLE_MIGRATION=y——name artifactory- v $ARTIFACTORY_HOME:/var/opt/jfrog/artifactory -d -p 8081:8081 -p 8082:8082 release -docker.jfrog.io/jfrog/artifactory-:最新版本
  4. 从浏览器访问Artifactory:http://SERVER_主机名: 8082 / ui例如,在您的本地机器上:http://localhost:8082/ui/
  5. 检查Artifactory日志。

    Docker日志-f artifactory

Docker合成升级

  1. 停止并删除当前的容器。

    从docker运行升级
    Docker stop artifactory Docker rm -f artifactory
    从docker compose升级可在https://bintray.com/jfrog/run/art-compose
    停止artifactory postgresql nginx Docker rm -f artifactory postgresql nginx
  2. 解压缩归档文件的内容并转到解压缩的文件夹。

    Tar -xvf jfrog-artifactory--- composer . Tar .gz

    .env文件包含在Docker-Compose归档文件中

    这个.env文件由docker-compose使用,并在安装和升级期间更新。

    注意,某些操作系统默认情况下不显示点文件。如果您对该文件进行了任何更改,请记得在升级之前进行备份。

  3. R联合国的config.sh脚本来设置所需所有权的文件夹。

    。/ config.sh
  4. 检查以下文件,确认迁移已经成功完成:

    1. 迁移日志美元JFROG_HOME / artifactory / var / log / migration.log

    2. system.yaml配置$ JFROG_HOME / artifactory / var / etc / system.yaml这个新创建的文件将包含新格式的当前自定义配置。

    3. 根据您的选择,一个选定docker-compose.yaml将在解压缩的文件夹中可用。但是,目录中有一些docker-compose模板模板。您可以选择任何模板并将其复制到解压缩的文件夹docker-compose.yaml

  5. 管理Artifactory使用本地Docker Compose命令:Docker-compose -p rt 命令

    #从7.8开始。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p rt-postgres -f Docker-compose -postgres 9-6-11v。Yaml up -d docker-compose -p rt up -d docker-compose -p rt ps docker-compose -p rt down
  6. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

    如果你有一个反向代理或负载均衡器配置你的Artifactory 6.x,你需要去创造一个新的反向代理配置并更新反向代理设置。
    您可以通过访问升级后的Artifactory服务器UI(默认情况下)生成新的配置模板http://localhost:8082/ui/),浏览至
    管理> Artifactory >常规> HTTP设置调整你的反向代理设置并生成一个新的配置模板。看到反向代理设置

  7. 检查Artifactory日志。

    tail -f $JFROG_HOME/artifactory/var/log/console.log

使用Docker卷进行Docker组合升级

  1. 停止并移除当前Docker容器。

    Docker stop artifactory postgresql Docker rm -f artifactory postgresql
  2. 解压缩归档文件的内容并转到解压缩的文件夹。

    Tar -xvf jfrog-artifactory--- composer . Tar .gz
  3. 复制docker-compose-volumes.yaml文件到解压缩的文件夹。

    cp / docker-compose-volumes模板。yaml docker-compose.yaml
  4. 将条目添加到.env文件。
    注意:中的项避免重复.env文件。

    echo -e "JF_SHARED_NODE_IP=$(hostname -i)">> .env echo -e "JF_SHARED_NODE_ID=$(hostname -s)">> .env echo -e "JF_SHARED_NODE_NAME=$(hostname -s)"> > .env
  5. 文件中删除以下envdocker-compose.yaml文件。
    注意:迁移开始于容器内部和一个新的system.yaml对准从Artifactory 6迁移的数据。X被创建。要利用此过程,请删除此处的env,以确保从中获取旧的连接详细信息system.yaml因为ENV取代了system.yaml条目。您还可以选择将这些环境值更新为旧的连接详细信息,以便升级成功。

    —JF_SHARED_DATABASE_TYPE=postgresql—JF_SHARED_DATABASE_USERNAME=artifactory—JF_SHARED_DATABASE_PASSWORD=password—JF_SHARED_DATABASE_URL=jdbc:postgresql://postgresql:5432/artifactory—JF_SHARED_DATABASE_DRIVER=org.postgresql.Driver
  6. 使用本地Docker Compose命令管理Artifactory:Docker-compose -p rt 命令。
    请注意:在解压后的文件夹中执行该命令。

    例子
    Docker-compose -p rt up -d Docker-compose -p rt ps Docker-compose -p rt down

RPM升级

  1. 停止当前服务器。

    服务停止
  2. 在Red Hat兼容的Linux发行版上,以根用户身份将Artifactory作为服务安装。

    Yum -y install jfrog-artifactory--
  3. 检查以下文件,确认迁移已经成功完成:

    1. 迁移日志美元JFROG_HOME / artifactory / var / log / migration.log

    2. system.yaml配置$ JFROG_HOME / artifactory / var / etc / system.yaml
      这个新创建的文件将包含新格式的当前自定义配置。

  4. 管理Artifactory。

    服务artifactory start|stop
  5. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

    如果您使用Artifactory 6.x配置了反向代理或负载均衡器,你需要去创造一个新的反向代理配置并更新反向代理设置。
    您可以通过访问升级后的Artifactory服务器UI(默认情况下)生成新的配置模板http://localhost:8082/ui/),浏览至
    管理> Artifactory >常规> HTTP设置调整你的反向代理设置并生成一个新的配置模板。看到反向代理设置

  6. 检查Artifactory日志。

    tail -f $JFROG_HOME/artifactory/var/log/console.log

Debian升级

  1. 停止当前服务器。

    服务停止
  2. 将Artifactory安装为服务在Debian兼容的Linux发行版上,作为根用户。

    运行安装
    DPKG -i jfrog-artifactory--.deb
  3. 检查以下文件,确认迁移已经成功完成:

    1. 迁移日志美元JFROG_HOME / artifactory / var / log / migration.log

    2. system.yaml配置$ JFROG_HOME / artifactory / var / etc / system.yaml
      这个新创建的文件将包含新格式的当前自定义配置。

  4. 管理Artifactory。

    服务artifactory start|stop
  5. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

    如果你有一个反向代理或负载均衡器配置你的Artifactory 6.x,你需要去创造一个新的反向代理配置并更新反向代理设置。
    您可以通过访问升级后的Artifactory服务器UI(默认情况下)生成新的配置模板http://localhost:8082/ui/),浏览至
    管理> Artifactory >常规> HTTP设置调整你的反向代理设置并生成一个新的配置模板。看到反向代理设置

  6. 检查Artifactory日志。

    tail -f $JFROG_HOME/artifactory/var/log/console.log

执掌升级

Artifactory从6升级。X到7.x(App Version)

从6升级。X到7.xrequires a one time migration process. This is done automatically on pod startup if needed. It is possible to configure the migration timeout with the following configuration in extreme cases. The default provided should be more than enough for completion of the migration:

artifactory: #迁移支持从6。X到7.xmigration: enabled: true timeoutSeconds: 3600

从版本6迁移主密钥。X到7.x(App Version)

版本6。x只支持16个十六进制(32个字符)的主键,如果你已经设置了一个主键使用Openssl rand -hex 32(64个字符)在6。X,只使用前32个字符,其余的将被忽略。从6.迁移时。X到7.x, we trim the first 32 characters and set the masterkey, which implies that 7.x still uses the trimmed masterkey of 6.x. Therefore, theartifactory.masterKey应该在从6迁移时被传递。X到7.x。

从8升级。X到11。x及以上图表版本

如果你从8升级。X到11。x和以上图表版本,记得删除现有的PostgreSQL状态集之前由于PostgreSQL子图的突破性变化而升级图表。

kubectl delete statefulsets -postgresql


一旦有了新的图表版本,就可以升级部署。

单节点升级

  1. 使用以下命令进行升级。

    单独的节点
    Helm upgrade artifactory—命名空间artifactory jfrog/artifactory
  2. 如果安装Artifactory时没有向postgresql提供值。postgresqlPassword(即,如果密码是自动生成的),按照下面的说明到g . postgresqlPasswordEt当前密码。

    POSTGRES_PASSWORD=$(kubectl get secret -n  -postgresql -o jsonpath="{.data. data. "" | base64——decode)
  3. 通过传递先前自动生成的秘密来升级版本。

    Helm upgrade  jfrog/artifactory——set postgresql. zippostgresqlPassword=${POSTGRES_PASSWORD}——namespace <命名空间>

    这将应用现有部署上的任何配置更改。

HA升级

  1. 使用以下命令进行升级。

    Helm upgrade artifactory-ha——命名空间artifactory-ha jfrog/artifactory-ha
  2. 如果安装Artifactory时没有向postgresql提供值。postgresqlPassword(即,如果密码是自动生成的),按照下面的说明到g . postgresqlPasswordEt当前密码。

    POSTGRES_PASSWORD=$(kubectl get secret -n  -postgresql -o jsonpath="{.data. data. "" | base64——decode)
  3. 通过传递先前自动生成的秘密来升级版本。

    helm upgrade ——namespace artifactory-ha jfrog/artifactory-ha——set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}

    这将应用现有部署上的任何配置更改。

Windows升级

迁移是Windows安装的一个手动过程。下面的步骤还包括复制目录并运行迁移脚本

确保运行Artifactory的用户在服务器上运行所有命令。

  1. 停止当前服务器。

    cd %ARTIFACTORY_HOME%\bin artifactory.bat停止

    如果您将Artifactory服务作为一个进程运行,请从Services中停止该服务。按Windows键+R,输入services。msc访问服务。

  2. 提取压缩归档文件的内容,将其移动到新创建的jfrog\artifactory文件夹中,然后转到新文件夹。

    #解压windows界面下的压缩文件mkdir jfrog move jfrog-artifactory-- jfrog\artifactory . zip
  3. 设置你的ARTIFACTORY_HOME而且JFROG_HOME变量。
    请注意:ARTIFACTORY_HOME美元变量指向现有的安装,而JFROG_HOME美元变量指向新的安装。

    当设置ARTIFACTORY_HOME而且JFROG_HOME变量,确保使用Windows短名称或转义空格。有关更多信息,请参见在这里

    SET ARTIFACTORY_HOME=<当前Artifactory安装的路径> SET JFROG_HOME=< jfrog文件夹的路径> SET JF_PRODUCT_HOME=%JFROG_HOME%/ Artifactory . home
  4. 将目录从当前路径复制到新路径。如果目标目录存在,则忽略。

    强制性的措施

    # Artifactory data mkdir %JFROG_HOME%\ Artifactory \var\data\ Artifactory /E / q#访问数据mkdir %JFROG_HOME%\ Artifactory \var\data\ Access xcopy %ARTIFACTORY_HOME%\ Access \data %JFROG_HOME%\ Artifactory \var\data\ Access /E / q#复制器数据#注:如果你从来没有使用过Artifactory Replicator #你的%ARTIFACTORY_HOME%\ Artifactory \var\data\ Replicator xcopy %ARTIFACTORY_HOME%\ Replicator \data %JFROG_HOME%\ Artifactory \var\data\ Replicator /E / q# Artifactory config mkdir %JFROG_HOME%\ Artifactory \var\etc\ Artifactory xcopy %ARTIFACTORY_HOME%\etc %JFROG_HOME%\ Artifactory \var\etc\ Artifactory /E / q# Access config mkdir %JFROG_HOME%\ Artifactory \var\etc\ Artifactory xcopy%ARTIFACTORY_HOME%\access\etc %JFROG_HOME%\artifactory\var\etc\access /E / q# Replicator配置#注意:如果你从未使用过artifactory Replicator #,你的%ARTIFACTORY_HOME%\ Replicator目录将为空mkdir %JFROG_HOME%\artifactory\var\etc\ Replicator xcopy %ARTIFACTORY_HOME%\ Replicator \etc %JFROG_HOME%\artifactory\var\etc\ Replicator /E / q# master。键mkdir %JFROG_HOME%\artifactory\var\etc\security xcopy %ARTIFACTORY_HOME%\etc\security\master。key %JFROG_HOME%\artifactory\var\etc\security / q# server.xml mkdir %JFROG_HOME%\artifactory\var\work\old xcopy %ARTIFACTORY_HOME%\tomcat\conf\server.xml %JFROG_HOME%\artifactory\var\work\old /q #外部数据库驱动,例如:mysql-connector-java-.jar xcopy %ARTIFACTORY_HOME%\tomcat\lib\<您的数据库驱动> %JFROG_HOME%\artifactory\app\artifactory\tomcat\lib /q #将新artifactory目录的所有权更改为想要运行artifactory的用户。如果您对打算运行Artifactory的用户执行了前面的所有步骤,则可以跳过此步骤。#删除带有旧链接的logback.xml请考虑手动迁移此处自定义的任何内容del %JFROG_HOME%\artifactory\var\etc\artifactory\logback.xml del %JFROG_HOME%\artifactory\var\etc\access\logback.xml #移动配置文件#注意:仅从artifactory版本6升级时运行以下命令。X到7.5版。X及以上。mkdir %JFROG_HOME%\artifactory\var\etc\artifactory\old mkdir %JFROG_HOME%\artifactory\var\etc\access\old mkdir %JFROG_HOME%\artifactory\var\etc\replicator\old move /Y %JFROG_HOME%\artifactory\var\etc\artifactory\db。属性% JFROG_HOME % \ artifactory \ var \ etc \ artifactory \ \ db。箴perties move /Y %JFROG_HOME%\artifactory\var\etc\artifactory\ha-node.properties %JFROG_HOME%\artifactory\var\etc\artifactory\old\ha-node.properties move /Y %JFROG_HOME%\artifactory\var\etc\access\db.properties %JFROG_HOME%\artifactory\var\etc\access\old\db.properties move /Y %JFROG_HOME%\artifactory\var\etc\replicator\replicator.yaml %JFROG_HOME%\artifactory\var\etc\replicator\old\replicator.yaml


    可选步骤

    # Artifactory备份(可选)mkdir %JFROG_HOME%\ Artifactory \var\backup\ Artifactory /E / q#访问备份(可选)mkdir %JFROG_HOME%\ Artifactory \var\backup\ Access xcopy %ARTIFACTORY_HOME%\ Access \backup %JFROG_HOME%\ Artifactory \var\backup\ Access /E / q# Replicator备份(可选)mkdir %JFROG_HOME%\ Artifactory \var\backup\ Replicator xcopy %ARTIFACTORY_HOME%\ Replicator \backup %% JFROG_HOME % \ \ artifactory \ var \备份复制因子/ E / q # artifactory日志(可选)mkdir % JFROG_HOME % \ artifactory \ var \ log \ artifactory选择复制文件% ARTIFACTORY_HOME % % JFROG_HOME % \ artifactory \ var \ \日志日志\ artifactory / E / q #访问日志(可选)mkdir % JFROG_HOME % \ artifactory \ var \ log \访问选择复制文件% ARTIFACTORY_HOME % % JFROG_HOME % \ \ \访问日志artifactory \ var \ log \访问/ E / q #复制因子日志(可选)mkdir % JFROG_HOME % \ artifactory \ var \ log \复制因子选择复制文件% ARTIFACTORY_HOME % \复制因子\日志将特定文件从当前路径复制到新路径。
  5. 房委会装置,替换%中任何相对路径ARTIFACTORY_HOME % \等ha-node.properties具有绝对路径的文件。

    例如:
    #相对路径artificial .ha.data。Dir =artifactory-ha #绝对路径artifactory.ha.data.dir=\var\opt\jfrog\artifactory-ha
  6. 使用与当前Artifactory安装中相同的权限运行迁移脚本。该脚本将根据新的文件系统布局复制并将当前配置转换为新的配置格式。

    cd %JFROG_HOME%\artifactory\app\bin migrate.bat

    迁移脚本只迁移配置值。在Artifactory 6中添加到配置文件中的任何注释。X安装不会被迁移。

  7. 检查以下文件,确认迁移已经成功完成:
    1. 迁移日志% JFROG_HOME % \ artifactory \ var \ \ migration.log日志

    2. system.yaml配置% JFROG_HOME % \ artifactory \ var \ etc \ system.yaml
      这个新创建的文件将包含新格式的当前自定义配置。

    3. 管理Artifactory。

      % JFROG_HOME % \ artifactory \ app \ bin \ artifactory.bat开始|停止

      第一次Artifactory Windows安装防火墙警报

      当启动Artifactory时,您可能会得到一些防火墙异常消息。选择专用网络并允许访问继续工作。

      按照以下步骤将Artifactory安装为Windows服务在这里

  8. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

    如果你有一个反向代理或负载均衡器配置你的Artifactory 6.x,你需要去创造一个新的反向代理配置并更新反向代理设置。
    您可以通过访问升级后的Artifactory服务器UI(默认情况下)生成新的配置模板http://localhost:8082/ui/),浏览至
    管理> Artifactory >常规> HTTP设置调整你的反向代理设置并生成一个新的配置模板。看到反向代理设置


  9. 检查artifactory-service.log

    日志类型% JFROG_HOME % \ artifactory \ var \ \ artifactory-service.log

从版本7升级。X到7.x

升级前,请确保您使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。

从JFrog Artifactory 7升级。X至7.10或以上

当从7.10之前的任何版本升级到7.10及以上版本时,升级过程会执行内部DB模式迁移,这可能会导致短时间停机。

当从Artifactory 7升级时。X到7.x, your metadata will also be migrated automatically. For more information, seeJFrog平台元数据迁移

查看新指标和趋势

升级到Artifactory 7.11时。x,你需要任务控制4.6。X能够使用新的指标和趋势。

支持以下升级方式:

Linux档案升级

  1. 以root用户登录。

  2. 停止当前服务器。

    停止Artifactory
    cd $JFROG_HOME/artifactory/app/bin ./artifactoryctl stop . sh
  3. 导出JFrog变量。

    #导出变量以简化命令Export JFROG_HOME=<您的JFrog主目录,例如/opt/ JFrog > Export JF_NEW_VERSION=<例如/opt/ JFrog /artifactory-7.x> .x> .x



  4. 解压缩归档文件的内容并转到解压缩的文件夹。

    解压
    Tar -xvf jfrog-artifactory---linux. Tar .gz
  5. 替换现有的美元JFROG_HOME / artifactory /应用程序有了新的应用程序文件夹中。

    升级
    #删除应用rm -rf $JFROG_HOME/artifactory/app #复制新应用cp -r $JFROG_HOME/artifactory #删除提取的新版本rm -rf $ jfrog_new_version chown -r artifactory:artifactory /opt/jfrog/artifactory/app
  6. 如果Artifactory在以前的版本中是作为服务安装的,那么这个版本也要作为服务安装。

    当较早的版本作为服务安装时,重要的是将新版本也作为服务更新。否则,重新启动服务器可能会导致出现较旧版本的Artifactory。

    cd $JFROG_HOME/artifactory/app/bin ./installService.sh
  7. 管理Artifactory。

    $ JFROG_HOME / artifactory / app / bin / artifactoryctl开始| |停止检查
  8. 从浏览器http://SERVER_HOSTNAME:8082/ui/访问Artifactory。例如,在您的本地机器上:http://localhost:8082/ui/

  9. 检查Artifactory日志。

    tail -f $JFROG_HOME/artifactory/var/log/console.log

RPM升级

  1. 停止当前服务器。

    服务停止
  2. 在Red Hat兼容的Linux发行版上,以根用户身份将Artifactory作为服务安装。

    Yum -y install jfrog-artifactory--.rpm
  3. 管理Artifactory。

    服务artifactory start|stop
  4. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

  5. 检查Artifactory日志。

    tail -f $JFROG_HOME/artifactory/var/log/console.log

码头工人升级

  1. 使用本地Docker命令停止并删除Artifactory。

    例如
    Docker stop artifactory Docker rm -f artifactory
  2. 设置当前Artifactory主目录的路径,并确保正确设置了目录权限。

    export ARTIFACTORY_HOME=<挂载路径到当前Artifactory数据目录> chown -R 1030:1030 $ARTIFACTORY_HOME
  3. 启动Artifactory容器

    docker run——name artifactory- v $ARTIFACTORY_HOME:/var/opt/jfrog/artifactory -d -p 8081:8081 -p 8082:8082 release -docker.jfrog.io/jfrog/artifactory-:latest .(最新版本
  4. 从浏览器访问Artifactory:http://SERVER_主机名: 8082 / ui例如,在您的本地机器上:http://localhost:8082/ui/
  5. 检查Artifactory日志。

    Docker日志-f artifactory

Docker合成升级

  1. 停止当前服务器。

    Docker-compose -p rt stop
  2. 解压缩归档文件的内容并转到解压缩的文件夹。

    Tar -xvf jfrog-artifactory--- composite . Tar .gz CD artifactory-- .gz

    的内容.env文件在以前的安装中新建.env此存档中的文件不需要复制版本,因为这会影响升级。

  3. R联合国的config.sh脚本来设置所需所有权的文件夹。

    。/ config.sh
  4. 管理Artifactory使用本地Docker Compose命令,Docker-compose -p rt 命令

    #从7.8开始。在启动其他服务之前,需要先启动PostgreSQL。如果PostgreSQL 9.6.11正在运行,则使用- docker-compose-p rt-postgres -f docker-compose-postgres-9-6.11v。如果PostgreSQL 10.13正在运行,使用- docker-compose-p rt-postgres -f docker-compose-postgres-10-13v。如果PostgreSQL 12.3正在运行,则使用- docker-compose-p rt-postgres -f docker-compose-postgres。Yaml up -d docker-compose -p rt up -d docker-compose -p rt ps docker-compose -p rt down
  5. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

  6. 检查Artifactory日志。

    -f $ROOT_DATA_DIR/var/log/console.log

Debian升级

  1. 停止当前服务器。

    服务停止
  2. 将Artifactory安装为服务在兼容的Linux发行版上,作为根用户。

    运行安装
    DPKG -i jfrog-artifactory--.deb
  3. 管理Artifactory。

    服务artifactory start|stop
  4. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/例如,在您的本地机器上:http://localhost:8082/ui/

  5. 检查Artifactory日志。

    tail -f $JFROG_HOME/artifactory/var/log/console.log

执掌升级

一旦有了新的图表版本,就可以升级部署。

单节点升级

  1. 使用以下命令进行升级。

    单独的节点
    Helm upgrade artifactory—命名空间artifactory jfrog/artifactory
  2. 如果安装Artifactory时没有向postgresql提供值。postgresqlPassword(即,如果密码是自动生成的),按照下面的说明到g . postgresqlPasswordEt当前密码。

    POSTGRES_PASSWORD=$(kubectl get secret -n  -postgresql -o jsonpath="{.data. data. "" | base64——decode)
  3. 通过传递先前自动生成的秘密来升级版本。

    Helm upgrade  jfrog/artifactory——set postgresql. zippostgresqlPassword=${POSTGRES_PASSWORD}——namespace <命名空间>

    这将应用现有部署上的任何配置更改。

HA升级

升级路径取决于用于安装Artifactory HA的Artifactory舵图。您必须使用与安装Artifactory HA时相同的图表。

使用artifactory Chart升级HA
  1. 使用以下命令进行升级。

    Helm upgrade artifactory—命名空间artifactory-ha jfrog/artifactory
  2. 如果安装Artifactory时没有向postgresql提供值。postgresqlPassword(即,如果密码是自动生成的),按照下面的说明到g . postgresqlPasswordEt当前密码

    POSTGRES_PASSWORD=$(kubectl get secret -n  -postgresql -o jsonpath="{.data. data. "" | base64——decode)
  3. 通过传递先前自动生成的秘密来升级版本。

    helm upgrade ——namespace artifactory jfrog/artifactory——set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}

    这将应用现有部署上的任何配置更改。

使用artifactory-ha Chart升级HA
  1. 使用以下命令进行升级。

    Helm upgrade artifactory-ha——命名空间artifactory-ha jfrog/artifactory-ha
  2. 如果安装Artifactory时没有向postgresql提供值。postgresqlPassword(即,如果密码是自动生成的),按照下面的说明到g . postgresqlPasswordEt当前密码

    POSTGRES_PASSWORD=$(kubectl get secret -n  -postgresql -o jsonpath="{.data. data. "" | base64——decode)
  3. 通过传递先前自动生成的秘密来升级版本。

    helm upgrade ——namespace artifactory-ha jfrog/artifactory-ha——set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}

    这将应用现有部署上的任何配置更改。

Windows升级

  1. 停止当前服务器。

    停止Artifactory
    cd %JFROG_HOME%\artifactory\app\bin artifactory.bat停止
  2. 解压缩归档文件的内容并转到解压缩的文件夹。


  3. 替换现有的% JFROG_HOME % \ app有了新的应用程序文件夹中。

    升级
    这里提供的示例路径SET %JFROG_HOME%=\myHome\jfrog SET %JF_NEW_VERSION%=\myHome\artifactory-7。删除应用rmdir %JFROG_HOME%\artifactory\app #复制新应用%$JF_NEW_VERSION%\app %$JFROG_HOME%\artifactory #删除提取的新版本rmdir %JF_NEW_VERSION%
  4. 管理Artifactory。

    % JFROG_HOME % \ artifactory \ app \ bin \ artifactory.bat开始|停止

    第一次Artifactory Windows安装防火墙警报

    当启动Artifactory时,您可能会得到一些防火墙异常消息。选择专用网络并允许访问继续工作。

  5. 从浏览器访问Artifactory:http://SERVER_HOSTNAME:8082/ui/.例如,在您的本地机器上:http://localhost:8082/ui/

  6. 检查Artifactory日志。

    日志类型% JFROG_HOME % \ artifactory \ var \ \ console.log

启用TLS 1.0和1.1与旧数据库连接

Artifactory version 7.25.5以上包含OpenJDK version 11.0.11及更高版本。从OpenJDK 11.0.11起,TLS 1.0和TLS 1.1默认禁用。如果您的数据库版本不支持TLS 1.2, Artifactory启动将失败。

如果您无法将数据库升级到支持TLS 1.2或更高版本,请执行以下步骤运行Artifactory:

  1. 下载java。安全文件启用TLS 1.0和1.1的用户。


  2. 创建目录,$ {JFROG_HOME} / artifactory /var/引导/ artifactory / java

    mkdir -p ${JFROG_HOME}/artifactory/var/bootstrap/artifactory/java
  3. 复制java。安全文件into$ {JFROG_HOME} / artifactory /var/引导/ artifactory / java。

  4. 为目录提供适当的权限。

    chmod 755 ${JFROG_HOME}/artifactory/var/bootstrap/artifactory/java/java.security

    Artifactory启动需要现有java的备份。安全文件和自定义java。安全进$ {JFROG_HOME} / artifactory / app /第三方/ java / conf /安全文件夹中。

为头盔安装配置Java安全文件

  1. 创建以下本地目录。

    Mkdir -p java/configmap
  2. 下载java。安全文件启用TLS 1.0和1.1的用户。


  3. 复制java。安全文件tojava / configmap

  4. 运行如下命令创建自定义配置映射。有关更多信息,请参阅使用配置映射

    Kubectl create configmap java-security-config——from-file=java/configmap/java.security
  5. 将以下自定义配置映射传递给Helm安装。有关更多信息,请参阅使用配置映射

    "mkdir -p /opt/jfrog/artifactory/var/bootstrap/artifactory/java && cp - lrf /tmp/java/* /opt/jfrog/artifactory/var/bootstrap/artifactory/java/" customVolumes: | - name: java-security-config configMap: name: java-security-config customVolumeMounts: | - name: java-security-config mountPath: /tmp/java/java。security子路径:java.security

升级企业HA集群

本节描述升级Artifactory企业高可用性集群的过程。由于您的集群包含多个节点,您可以完成升级过程不需要任何停机时间到您的组织正在使用的Artifactory服务。

升级前,请确保您使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。

升级步骤

升级到最新版本包括以下三个阶段:

  1. 升级第一个节点。
  2. 升级其他节点。
  3. 检查HA安装和配置结果。

想停止使用NFS?

升级完成后停止使用NFS共享(可选),请参阅从NFS迁移数据迁移到替代存储。

使用NFS数据文件夹与JFrog路由器

如果您的HA集群使用NFS作为其文件存储,您将需要验证在升级后,唯一的共享文件夹是JFROG_HOME /数据/ artifactory美元目录(即,如果NFS直接挂载到/var/opt/jfrog/artifactory /数据你会遇到问题)。

这是因为$ JFROG_HOME /数据/路由器每个节点的文件夹必须唯一。如果您正在为NFS使用不同的文件夹,则此警告不适用。


会话管理选项

从6.2版开始,当访问其中一个成员时,Artifactory在Artifactory HA成员之间提供了不同的会话管理替代方案。如果您没有将HA集群配置为启用会话保持,那么在完成整个集群的升级之前,UI将无法工作。

控件控制会话的管理方式artifactory.map.provider.type财产(在JFROG_HOME美元/ artifactory / var / etc / artifactory / artifactory.system.properties文件),可以取以下值:

db
(默认)
会话由数据库管理
分布式
会话由Hazelcast管理
jvm
会话由JVM管理

如果会话被配置为由数据库管理,Artifactory还将调度一个cron作业来清理旧会话。

用于触发会话的cron表达式可以使用artifactory.db.session.cleanup.cron的财产$ JFROG_HOME / artifactory / var / etc / artifactory/ artifactory.system.properties文件。

在安装期间,这个cron表达式被设置为默认值,该值在每小时之后的设置分钟(随机确定)触发清理。


升级HA节点向后兼容性

从Artifactory 7.17.4开始,HA集群支持Cloud-Native兼容性,其中所有节点都是平等的,不再需要设置主节点和辅助节点。
要使用这个新功能,请添加“任务”亲和力”:“任何的群集中包含的节点Artifactory系统YAML

升级时,仍然设置了主节点和备节点。

您可以将这些更改为taskAffinity:任何如下:

node: haEnabled: true taskAffinity: any

并注释掉或删除以下内容:

#主:真

升级第一个节点

  1. 从负载均衡器中移除第一个节点。所有请求都将被定向到其他节点。检查$ HOME /日志/ request.log而且ARTIFACTORY_URL / api /任务(搜索“running”)以确保Artifactory完全处于非活动状态。
  2. 根据安装类型的说明继续升级。
  3. 启动第一个节点。它会识别出HA集群节点并不都运行相同版本的Artifactory,因此,系统将被限制为允许上传和下载。

    任何试图执行其他操作的尝试,如更改DB模式、修改权限、更改存储库配置等,都被严格阻止。此限制将持续到所有集群节点再次运行相同版本为止。

    版本不一致会产生异常

    运行不同版本的HA集群节点会出现异常。这些可以在日志文件中看到,反映了升级过程中的临时不一致状态。这是正常的,应该忽略,直到所有集群节点再次运行相同的版本。

  4. 从版本6升级。X到7.x
    调整你的反向代理设置并更新您的负载均衡器配置使用新的JFrog平台URLhttp:// <主机名>:8081

    您可能需要更新自定义URL库,作为Artifactory从6升级的一部分。X到7.x。记住要使用一个在所有情况下都能正确工作的URL;例如:https://mydomain,如果反向代理也更新为同时使用文档中提到的Artifactory REST API端口和Router端口,那么这个值是正确的。

  5. 将第一个节点放回负载均衡器。

升级附加节点

每一个额外的节点在HA集群中,执行以下操作。

  1. 将该节点从负载均衡器中移除,以便所有请求都被定向到其他节点。检查$ HOME /日志/ request.log和ARTIFACTORY_URL/api/tasks(搜索“running”),以确保Artifactory完全处于非活动状态。
  2. 根据安装类型的说明继续升级。

  3. 启动附加节点。
  4. 将附加节点添加回负载均衡器。
  5. 对每个其他节点重复此过程。

检查安装情况

在启动每个附加节点之后,我们建议检查system.yaml而且binarystore.xml文件(下JFROG_HOME / artifactory / var / etc /美元),以确保它们的配置正确

检查HA安装和配置结果

完成HA集群升级后,可以使用以下测试验证集群是否已正确安装和配置。

  1. 直接访问您刚刚配置的服务器的Artifactory UI
  2. 管理模块转到Service | Artifactory |系统日志查看日志并验证您看到的条目HA节点ID。
  3. 模块导航栏的底部还应该表明您正在使用Enterprise许可证运行。如果出现错误,您将在页面标题中看到错误消息。
  4. 通过负载均衡器访问Artifactory,并以管理
  5. 管理模块转到监控|服务状态。选择后,将显示下表,其中包括集群中所有Artifactory节点的详细信息。

  6. 管理模块下|常规设置,验证自定义URL库字段正确配置为负载均衡器的URL。


  • 没有标签
版权所有©2023 JFrog Ltd。