JFrog发行x文档
要获取最新版本,请访问JFrog统一平台
本地配置
本地配置为存储在文件系统。
分布节点由以下服务组成,这些服务在以下文件中进行本地管理:
- 地理分布:DISTRIBUTION_HOME / etc / distribution.local.config.yml
- 经销商:DISTRIBUTOR_HOME / etc / distributor.local.config.yml
应用配置文件更改
Res蛋挞使配置变更生效的服务。
分布本地配置
文件中配置如下参数DISTRIBUTION_HOME / etc / distribution.local.config.yml文件。
属性名 | 值类型 | 描述 |
---|---|---|
platform.distribution-service-id |
字符串 | 可选[默认值:null] 手动服务id将在分布式集群的第一个节点启动时设置(必须是有效的"jfds@ |
server.internal-url |
字符串 | 可选(默认值:“http:// < MACHINE_EXTERNAL_IP > 8080”): |
server.port |
整数 | 可选(默认值:8080] 分发服务器使用的端口 |
redis.connection-string |
字符串 | 可选[默认值:"复述:/ / password@bt-distributor-redis: 6379”):Redis连接字符串 |
redis.staging-database-index |
整数 | 可选[默认值:0]]用于插入新分发任务的数据库必须与“分发服务器”中的配置匹配 |
redis.socket-timeout-millis |
整数 | 可选[默认值:12000]]Redis连接socket超时(以毫秒为单位) |
redis.resource-pool-max-size |
整数 | 可选[默认值:200]] Redis连接资源池最大大小 |
redis.resource-pool-max-wait-millis |
整数 | 可选[默认值:60000]] Redis连接资源池最大等待时间(以毫秒为单位) |
sql.connection-string |
字符串 | 可选[默认值:"jdbc:postgresql: / / localhost: 5432 /分布?用户= distribution&password =密码"] 数据库连接字符串 |
sql.type |
字符串 | 可选[默认值:"postgresql"] 数据库类型 |
sql.auto-commit |
布尔 | 可选(默认值:真正的] 自动提交模式 |
sql.max-active-connections |
整数 |
可选(默认值:98] 最大活动连接数 |
sql.max-lifetime-millis |
长 | 可选[默认值:1800000]] 连接的最大寿命 |
sql.min-idle-connections |
整数 | 可选(默认值:1] 空闲连接的最小数量 |
sql.idle-timeout-millis |
长 | 可选(默认值:300000] 保持空闲连接的最大时间(0表示永远不退出空闲连接) |
sql.connection-timeout-millis |
长 | 可选(默认值:120000] 等待可用连接的最大时间 |
sql.connection-init-query |
字符串 | 可选[默认值:null]] 在将每个新连接添加到池之前,为其运行SQL查询 |
sql.connection-test-query |
字符串 | 可选[默认值:null]] 为测试连接有效性而运行的SQL查询(来自驱动程序的默认查询为空) |
sql.connection-test-timeout-millis |
长 | 可选[默认值:5000]] 等待验证连接的最大时间 |
sql.leak-detection-threshold-millis |
长 | 可选[默认值:0]] 当连接超出池时,在发出可能的泄漏警报之前的等待时间(0表示禁用泄漏检测) |
sql.allow-pool-suspension |
布尔 | 可选[默认值:true]] 是否允许泳池暂停 |
sql.catalog |
字符串 | 可选[默认值:null]] 新连接的默认编目名称 |
sql.initialization-fail-timeout-millis |
长 | 可选[默认值:1]] 池初始化失败前的等待时间(0表示忽略连接验证,负表示禁用) |
sql.isolate-internal-queries |
布尔 | 可选[默认值:false]] 池控制查询是否在它们自己的事务中隔离 |
分发服务器本地配置
文件中可以配置以下参数DISTRIBUTOR_HOME / etc / distributor.local.config.yml文件。
属性名 | 值类型 | 描述 |
---|---|---|
distribution.internal-api-url |
字符串 |
可选(默认值:"http://bt-distribution:8080/api/internal”)
分发服务器url |
redis.connection-string |
字符串 | 可选[默认值:"复述:/ / password@bt-distributor-redis: 6379”): Redis连接字符串 |
redis.staging-database-index |
整数 | 可选[默认值:0]] 用于插入新分发任务的数据库必须与“分发服务器”中的配置匹配 |
redis.pending-database-index |
整数 | 可选[默认值:1]] 用于挂起分发任务的数据库 |
redis.working-database-index |
整数 | 可选[默认值:2]] 用于工作分发任务的数据库 |
redis.socket-timeout-millis |
整数 | 可选[默认值:12000]] Redis连接socket超时(以毫秒为单位) |
redis.resource-pool-max-size |
整数 | 可选[默认值:200]] Redis连接资源池最大大小 |
redis.resource-pool-max-wait-millis |
整数 | 可选[默认值:60000]] Redis连接资源池最大等待时间(以毫秒为单位) |
工头.executor-factor |
整数 | 可选[默认值:2]] 每个cpu使用的最大线程数 |
foreman.quiet-preiod-in-secs |
整数 | 可选[默认值:0]] 新任务符合执行条件之前的等待时间(以秒为单位) |
foreman.inactivity-time (1.6版已弃用) |
整数 | 可选[默认值:60]] 在非活动任务符合恢复条件之前的等待时间(以秒为单位) |
foreman.inactivity-threshold-secs(1.6版开始) |
整数 | 可选[默认值:300]] 非活动任务恢复之前的等待时间(以秒为单位) |
foreman.task-execution-retries-warning-threshold |
整数 | 可选[默认值:5]] 在记录警告之前重试任务的次数 |
foreman.max-task-execution-retries |
整数 | 可选[默认值:5]] 任务重试的最大次数 |
foreman.task-reviver-time-in-millis (1.6版已弃用) |
整数 | 可选[默认值:500]] 恢复器运行之间的间隔(以毫秒为单位) |
foreman.task-reviver-cycle-millis (1.6版开始) |
整数 | 可选[默认值:60000]] 恢复程序运行之间的间隔(以毫秒为单位) |
配置日志记录
日志记录在DISTRIBUTION_HOME / etc / logback.xml和DISTRIBUTOR_HOME / etc / logback.xml
文件。
集群配置
集群配置存储在PostgreSQL中。
要编辑集群配置,请执行以下步骤:
- 编辑DISTRIBUTION_HOME/etc/template.distribution.config.import.yml中的属性
- 将文件重命名为distribution.config.import.yml
- 重新启动分发服务
配置文件更改
要导入集群配置导入文件,必须重新启动分发服务。
导入的配置状态的快照将被持久化到DISTRIBUTION_HOME/etc/distribution.config.latest.yml下的文件系统中
以前的配置状态文件,如果存在,将被重命名为DISTRIBUTION_HOME/etc/distribution.config.TIMESTAMP。Yml,最多10个以前的配置状态。
分布集群配置
文件中可以配置以下参数DISTRIBUTION_HOME / etc / distribution.config.import.yml文件。
属性名 | 值类型 | 描述 |
---|---|---|
max-http-header-size |
整数 |
可选[默认值:16384] 增加报头大小 可以手动增加Request报头最大大小,以防止在使用SSO登录到Distribution时收到HTTP 400消息。 |
edge-node-token-expiration-minutes |
整数 | 可选[默认值:180] 设置默认过期时间(以分钟为单位),超过此时间访问令牌将过期。 |
task.distribute.interval-seconds |
整数 | 可选(默认值:5] 分发作业连续运行之间的间隔 |
task.heartbeat.consider-stale-seconds |
整数 | 可选[默认值:30]] 服务器在集群中被认为失效之前保持无响应的时间段(秒) |
cluster.sync.timeout-millis |
整数 | 可选[默认值:100]] 重试请求前等待的初始时间(毫秒) |
cluster.sync.socket-timeout-millis |
整数 | 可选[默认值:5000]] 在放弃在另一个服务器上执行REST调用之前等待的时间(毫秒) |
cluster.sync.exponential-backoff-multiplier |
整数 | 可选[默认值:2]] 在下一次重试之前,重试超时应乘以的数字。例如,默认情况下,第三次重试将在200毫秒后进行 |
cluster.sync.number-of-retries |
整数 | 可选[默认值:3]] 最大重试次数 |
cluster.sync.backoff-max-delay-millis |
整数 | 可选[默认值:1000]] 无论其他设置如何,两次重试之间的最大时间间隔 |
release-bundle.max-artifacts |
整数 | 可选[默认值:3000]] 在发布包创建时从工件获取的工件的最大数量 |
artifactory-client.client-short-socket |
整数 | 可选[默认值:1000]] Artifactory绑定的短任务的套接字超时(以毫秒为单位),例如:与Artifactory进行验证和配对 |
artifactory-client.client-long-socket |
整数 | 可选[默认值:120000]] 对于人工绑定的长任务,例如:发布包的存储、删除和工件的收集(AQL)查询,套接字超时(毫秒) |
加强机密安全
分发使用一组加密参数(秘密)来连接外部资源,例如它使用的不同数据库。2022世界杯阿根廷预选赛赛程
为了保护秘密不被曝光,从1.4版开始,您可以在发行版启动时从临时文件预加载秘密文件,而不是将它们放在标准配置文件中。一旦发行版读取并成功使用了密钥,临时文件就会被删除。
下面的代码片段显示了这个临时文件中可能包含的参数示例。这些是Distribution用来连接到它所使用的不同数据库的连接字符串。
Sql: connection-string: "jdbc:postgresql://postgresql:5432/distribution? "User =< User >&password=" redis: connection-string: "redis://: @redis:6379"
- 将临时文件放置在
/var/opt/jfrog/distribution / .secrets / temp.distribution.local.config.yml
- 开始分配。在启动期间,如果存在临时配置文件,Distribution将从中读取所有参数,然后删除该文件。如果分发版删除文件失败,它将不会启动,而是会发出一个错误。
每次重新启动分发时执行
由于临时文件在发行版启动时被删除,因此每次重新启动发行版时都需要替换临时文件。
在源工件上部署GPG密钥
从v1.3.0开始,Distribution将触发源Artifactory将已签名发布包的内容克隆到一个孤立的release-bundles存储库.为此,您需要将每个Artifactory Edge节点中使用的GPG Key部署到源Artifactory服务。详情请参阅设置GPG密钥在JFrog Artifactory用户指南中。