首页 > 解决方案 > Artifactory:使用打包机和 AWS 实现自动化

问题描述

我正在寻找一种使用打包程序在 AWS 上自动化 Artifactory 部署的方法。我想要一个简单的配置:AWS ALB + [ASG:just 1 EC2] Artifactory + EFS for Blob + AWS RDS PostgreSQL

  1. 我写了 Terraform 并且基础设施设置正常工作
  2. 我用打包器轻松构建 Artifactory AMI(我从 RPM 安装构建
  3. 在 AWS 用户数据中:

我将 blob 路径 /var/opt/jfrog/artifactory/data 更新为指向 AWS EFS

我想按照以下网址将 db 从 derby 更改为 Postgre:https ://www.jfrog.com/confluence/display/RTF/PostgreSQL

我调整 $ARTIFACTORY_HOME/etc/db.properties 并下载与您的 PostgreSQL 对应的 JDBC 驱动程序。

一切正常,Artifactory 检测到新的空数据库,创建对象……但 Artifactory 没有启动。我有 master.key 错误:这是我的 catalina.out :

catalina.core.StandardService startInternal INFO:启动服务 [Catalina] 2018 年 7 月 26 日下午 2:00:17 org.apache.catalina.core.StandardEngine startInternal INFO:启动 Servlet 引擎:Apache Tomcat/8.5.23 2018 年 7 月 26 日 2 :00:17 PM org.apache.catalina.startup.HostConfig deployDescriptor INFO:部署配置描述符 [/opt/jfrog/artifactory/tomcat/conf/Catalina/localhost/access.xml] 2018 年 7 月 26 日下午 2:00:17 org.apache.catalina.startup.HostConfig deployDescriptor 信息:部署配置描述符 [/opt/jfrog/artifactory/tomcat/conf/Catalina/localhost/artifactory.xml] 2018-07-26 14:00:18 [未定义] [信息] 从 servlet 上下文 2018-07-26 14:00:19 [未定义] [信息] 已通过记录器 [artifactory.home=/var/opt/jfrog/artifactory] ​​解析 Artifactory 主页 [artifactory.home=null]。14:00:19。438 [localhost-startStop-2] DEBUG org.artifactory.converter.VersionProviderImpl - 最后一个 Artifactory 数据库版本是:v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 触发 PRE_INIT 转换,来自v610 到 v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 完成 PRE_INIT 转换,当前版本为:v610 2018-07-26 14:00:19 [ARTIFACTORY] [INFO] master当前缺少 .key 文件 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。2018-07-26 14:00:20 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。VersionProviderImpl - 最后一个 Artifactory 数据库版本是:v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 触发 PRE_INIT 转换,从 v610 到 v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 完成 PRE_INIT 转换,当前版本为:v610 2018-07-26 14:00:19 [ARTIFACTORY] [INFO] master.key 文件当前缺失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。2018-07-26 14:00:20 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。VersionProviderImpl - 最后一个 Artifactory 数据库版本是:v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 触发 PRE_INIT 转换,从 v610 到 v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 完成 PRE_INIT 转换,当前版本为:v610 2018-07-26 14:00:19 [ARTIFACTORY] [INFO] master.key 文件当前缺失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。2018-07-26 14:00:20 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。ConvertersManagerImpl - 触发 PRE_INIT 转换,从 v610 到 v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 完成 PRE_INIT 转换,当前版本为:v610 2018-07-26 14:00:19 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。2018-07-26 14:00:20 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。ConvertersManagerImpl - 触发 PRE_INIT 转换,从 v610 到 v610 14:00:19.460 [localhost-startStop-2] INFO org.artifactory.converter.ConvertersManagerImpl - 完成 PRE_INIT 转换,当前版本为:v610 2018-07-26 14:00:19 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。2018-07-26 14:00:20 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。当前缺少密钥文件 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。2018-07-26 14:00:20 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。当前缺少密钥文件 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。2018-07-26 14:00:20 [ARTIFACTORY] [INFO] master.key 文件当前丢失 - 等待 Access 创建它。1 秒后重新尝试检查 master.key 文件是否存在。

欢迎任何想法:-)

标签: amazon-web-servicesartifactoryterraform

解决方案


这是安装 jFrog Artifactory 的示例 Terraform 模板。我认为您可以使用类似于https://github.com/jfrog/JFrog-Cloud-Installers/blob/master/Terraform/userdata.sh的东西来设置 Artifactory 配置文件。


推荐阅读