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







概述

JFrog的Ansible系列包括几个Ansible角色JFrogArtifactory,JFrogx光,JFrog分布,JFrogInsight和PostgreSQL(可选),允许您在许多不同的配置中安装最新的JFrog平台- f从简单的单服务器安装到冗余和高可用的设置-这个集合为任何架构提供了灵活性。

此外,Ansible Collection还包括PostgreSQL数据库和NGINX的可选角色,它还允许您添加这些组件(参考集合中包含的示例库存和剧本文件,这些文件解决了大多数流行的用例)。


设置Ansible和JFrog Ansible集合

有几种方法安装Ansible取决于你的系统;Ansible使用SSH连接到主机,因此最佳实践是设置SSH密钥对并将公钥放在主机上(请参阅Ansible文档有关如何设置的信息)。一些云提供商还通过为您设置SSH密钥来简化此操作。

JFrog Ansible平台集合包括以下内容:

  • ansible_collections目录:此目录包含以下产品的Ansible Collection包,其中包含Ansible角色:hth华体会最新官方网站
    • Artifactory
    • x光
    • 分布
    • 洞察力
  • 示例目录:此目录包含各种架构的示例剧本

在此安装中不支持管道。

系统需求

安装JFrog Ansible Collection前,请参考系统需求有关受支持的平台、受支持的浏览器、所需端口和其他要求的信息。

重要的

每个JFrog产品必须安装在单独的盒子上。

从10.11。如果使用完全限定集合名称(FQCN),则运行以下命令安装集合依赖项。

Ansible-galaxy收集安装社区。postgresql社区。一般ansible.posix
安装JFrog平台时,必须以root用户或提供Sudo访问非root用户。

操作系统

JFrog Ansible Collection支持安装在以下操作系统上:

  • Ubuntu LTS版本(16.04/18.04/20.4)
  • Centos / RHEL 7. x 8. x
  • Debian 9.倍和10.倍

具体支持的版本,请参见系统需求矩阵

页面内容


安装

单节点安装

下面的安装将JFrog平台作为单产品(单节点)安装,而不是作为集群/HA安装。

  1. 安装Ansible收集从Ansible星系

    安装jfrog.platform
  2. 在使用这些角色时,确认你在剧本中引用了Ansible集合。

    --- - hosts: artifactory_servers collections:—jfrog。平台角色:—artifactory

    Ansible使用SSH连接主机。验证您的SSH私钥在您的客户端上,并且公钥安装在您的Ansible主机上。

  3. 创建目录文件:使用示例目录要建立存货清单档案(hosts.yml),连同主机地址和变量。

  4. 接下来,创建你的剧本:使用一个例子从示例目录用JFrog Ansible角色构建剧本。这些角色将应用于您的库存和供应软件。

  5. 执行如下命令,为JFrog软件提供Ansible功能。

    Ansible-playbook -vv平台。Yml -i hosts.ini

生成主键和连接键

  1. 生成主键和连接键。方法中的默认值将被设置为groupvars /所有/ var。yaml文件在每个角色下面。对于生产部署,您可能希望生成主键和连接键,并使用以下命令将它们应用到所有节点。

    MASTER_KEY_VALUE=$(openssl rand -hex 32) JOIN_KEY_VALUE=$(openssl rand -hex 32) ansible-playbook -vv平台。yml -i hosts.ini——extra-vars "master_key=$MASTER_KEY_VALUE join_key=$JOIN_KEY_VALUE"

    重要的

    请记住保存生成的主键和连接键,以便将来升级。

重写系统。yaml在Ansible安装

默认情况下,标志<产品> _systemyaml_override设置为false,这意味着您为覆盖/编辑现有yaml所做的任何更改都不会被应用。
通过将该标志设置为true,例如:artifactory_systemyaml_overridetrue时,您可以覆盖产品的现有配置,在本例中是Artifactory。

使用Ansible Vault加密Vars

有些变量你可能想要保密。可以将这些变量放入单独的文件中,并使用Ansible库

使用以下命令。

Ansible-vault加密secret-vars。Yml——vault-password-file ~/.vault_pass.txt

然后在你的剧本中包括秘密的vars文件。

—hosts: artifactory_servers vars_files:—。/vars/secret-vars. zipYml - ./vars/vars。Yml角色:- artifactory

使用外部数据库

如果您想为一个或多个产品使用外部数据库:hth华体会最新官方网站

  1. 的值postgres_enabled字段为false(这意味着您是将使用与集合绑定的Postgres角色)group_vars /所有/ vars.yml
  2. 按照以下步骤创建外部数据库,然后在中更改相应的产品值group_vars /所有/ vars.yml
    下面的示例显示了Artifactory数据库连接细节的示例配置。

    postgres_enabled: false artifactory_db_type: postgresql artifactory_db_driver: org.postgresql.Driver artifactory_db__name:  artifactory_db_user:  artifactory_db_password: < external_db_password > artifactory_db_url: jdbc:postgresql://:5432/{{artifactory_db_name}}

您还可以修改其他JFrog产品的数据库配置,在同一文件中设置外部hth华体会最新官方网站PostgreSQL数据库。


创建PostgreSQL数据库

支持的PostgreSQL版本

Artifactory支持PostgreSQL版本13。X及以下(2021年的EOL为9.5和9.6)。

使用下面的命令创建一个具有适当权限的Artifactory用户和数据库。修改相关值以匹配您的特定环境:

创建一个Artifactory用户和数据库
CREATE USER artifactory WITH PASSWORD创建一个UTF8的数据库授予数据库artifactory上的所有特权给artifactory;

一旦您验证了脚本是正确的,您就需要运行它来创建数据库并继续配置数据库。

Artifactory特权

我们建议为Artifactory提供数据库上的全部特权。



配置Artifactory使用PostgreSQL

当您将Artifactory配置为使用PostgreSQL时,所有的工件信息都存储在PostgreSQL中,而工件二进制数据存储在文件系统中$ JFROG_HOME / artifactory / var /数据/ artifactory / filestore).

虽然可以在PostgreSQL中存储blob,但我们不推荐这样做。这一点很重要,因为PostgreSQL驱动程序不支持将长度未知的blob流到数据库中。因此,Artifactory临时将部署的文件保存到文件系统中,然后才将BLOB保存到数据库中。

配置Artifactory使用PostgreSQL单节点

  1. 停止Artifactory服务。

  2. 中的数据库连接详细信息system.yamlconfiguration file如下。

    shared: database: type: postgresql driver: org.postgresql.Driver url: jdbc:postgresql://<您的db url,例如:localhost:5432>/artifactory username: artifactory password:密码


  3. 启动Artifactory服务。

配置Artifactory HA使用PostgreSQL数据库

从Artifactory 7.31.10提供。

  1. 停止Artifactory服务。

  2. 编辑system.yaml文件更新以下值。

    因为Artifactory使用多个驱动程序,您需要分别为这些驱动程序配置连接字符串。


    1. url场下共享数据库部分的如下格式。

      jdbc:postgresql://< postgresql Database 1 URL>…, /artifactory?targetServerType =主
    2. url场下元数据数据库部分的如下格式。

      jdbc:postgresql://< postgresql Database 1 URL>…, /artifactory?target_session_attrs =读写”

      下面的示例显示了一个示例system.yaml文件配置。

      systemYaml: shared: logging:…数据库:type: postgresql url: "jdbc:postgresql://17.21.0.2:5432,17.21.0.3:5432/artifactory? "targetServerType =主" driver: org.postgresql.Driver username: "artifactory" password: "password" artifactory: Database: ... frontend: ... access: ... metadata: database: type: postgresql url: "jdbc:postgresql://17.21.0.2:5432,17.21.0.3:5432/artifactory?target_session_attrs=read-write" driver: org.postgresql.Driver username: "artifactory" password: "password" ...
  3. 启动Artifactory服务。


启用TLS加密

若要启用PostgreSQL的TLS (Transport Layer Security)加密,请设置sslmode财产verify-fullJDBC连接器URL

例如,在$ JFROG_HOME / artifactory / var / etc / system.yaml文件:

Shared: database:…url: jdbc: postgresql: / / mypostgress.mydomain.com: 5432 / artifactory ? ssl = true&sslfactory = org.postgresql.ssl.jdbc4.LibPQFactory&sslmode =验证- full&sslrootcert = / tmp /服务器。crt……

如果您正在使用旧证书或使用在2020年7月之前创建的AWS RDS实例,则不会启用主题替代名称(SAN)。要解决此问题,需要生成一个新证书与SAN。



HA安装

默认情况下,Ansible Platform Collection安装在单节点配置中。目前,HA只支持Artifactory,不支持其他产品。hth华体会最新官方网站

要启用Artifactory的HA功能,需要将以下参数设置为“t”在街角色/ artifactory / / main.yml违约在Ansible平台集合内。

artifactory_ha_enabled:真

您也可以通过设置启用HA功能如果您正在进行新的安装,则可以通过运行以下命令来执行Extra-vars。

Ansible-playbook -vv平台。Yml -i hosts.ini--extra-vars "artifactory_ha_enabled=true"

可以通过以下命令启用现有单节点安装的HA功能。

Ansible-playbook -vv平台。Yml -i hosts.ini--extra-vars "artifactory_ha_enabled=true artifactory_systemyaml_override=true"

默认情况下,Ansible试图并行地管理剧本中引用的所有机器,并并行地启动所有Artifactory节点,这是不受支持的,会导致安装失败。为了避免这种情况,在HA模式下安装或升级Artifactory时,在剧本中添加以下串行模式逻辑。

—hosts: artifactory_servers serial:—1—100% roles:—role: artifactory when: artifactory_enabled | bool

默认情况下,所有节点都被安装为主节点,这意味着高可用性集群可以执行复制、垃圾收集、备份、导出和导入等任务。集群中的每个节点都可以执行上述任何任务,如果任何节点宕机,集群中的其他节点将能够执行这些任务。默认情况下,在向集群添加新节点(成员)时,它将能够执行集群范围内的任务,而无需用户干预。

“taskAffinity”:“任何”属性默认情况下在集群中的所有节点上设置,当安装Artifactory 7.17.4及以上版本时,在节点部分在Artifactory配置YAML。若要从节点中删除此功能,请设置“taskAffinity”:“没有”.有关更多信息,请参见本地云高可用性


建立馆藏档案

  1. ansible_collections / jfrog /安装程序目录

  2. 更新galaxy.yml所需的元文件。更新版本。

  3. 构建存档(这需要Ansible 2.9+)。

    Ansible-galaxy收集建造

设置Nginx的SSL证书和密钥

artifactory_nginx_ssl_enabled作为真正的角色/ artifactory / / main.yml违约在Ansible平台集合内。这使得Artifactory能够使用artifactory_nginx_ssl的角色。

中配置以下角色变量artifactory_nginx_ssl的角色。

  • server_name:服务器名称。例如,artifactory.54.105.51.178.xip.io
  • 证书: SSL证书
  • certificate_key: SSL私钥。
  • nginx_worker_processes: Nginx的worker_processes配置。默认值是1。
  • artifactory_docker_registry_subdomain:是否在Nginx配置中添加一个重定向指令来使用docker子域。
  • 没有标签
版权所有©2023 JFrog Ltd。