安装
单节点安装
下面的安装将JFrog平台作为单产品(单节点)安装,而不是作为集群/HA安装。
安装Ansible收集从Ansible星系.
安装jfrog.platform
在使用这些角色时,确认你在剧本中引用了Ansible集合。
--- - hosts: artifactory_servers collections:—jfrog。平台角色:—artifactory
Ansible使用SSH连接主机。验证您的SSH私钥在您的客户端上,并且公钥安装在您的Ansible主机上。
创建目录文件:使用示例目录要建立存货清单档案(
hosts.yml
),连同主机地址和变量。接下来,创建你的剧本:使用一个例子从示例目录用JFrog Ansible角色构建剧本。这些角色将应用于您的库存和供应软件。
执行如下命令,为JFrog软件提供Ansible功能。
Ansible-playbook -vv平台。Yml -i hosts.ini
生成主键和连接键
生成主键和连接键。方法中的默认值将被设置为
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_override
true时,您可以覆盖产品的现有配置,在本例中是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华体会最新官方网站
- 的值
postgres_enabled
字段为false(这意味着您是不将使用与集合绑定的Postgres角色)group_vars /所有/ vars.yml
. 按照以下步骤创建外部数据库,然后在中更改相应的产品值
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用户和数据库。修改相关值以匹配您的特定环境:
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单节点
- 停止Artifactory服务。
中的数据库连接详细信息system.yamlconfiguration file如下。
shared: database: type: postgresql driver: org.postgresql.Driver url: jdbc:postgresql://<您的db url,例如:localhost:5432>/artifactory username: artifactory password:密码
- 启动Artifactory服务。
配置Artifactory HA使用PostgreSQL数据库
从Artifactory 7.31.10提供。
- 停止Artifactory服务。
编辑
system.yaml
文件更新以下值。因为Artifactory使用多个驱动程序,您需要分别为这些驱动程序配置连接字符串。
的
url
场下共享
数据库部分的如下格式。jdbc:postgresql://< postgresql Database 1 URL>…,
/artifactory?targetServerType =主 的
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" ...
- 启动Artifactory服务。
启用TLS加密
若要启用PostgreSQL的TLS (Transport Layer Security)加密,请设置sslmode
财产verify-full
在JDBC连接器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”:“没有”
.有关更多信息,请参见本地云高可用性.
建立馆藏档案
更新
galaxy.yml
所需的元文件。更新版本。构建存档(这需要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子域。