首页 文章

在Amazon VPC中部署,并在公司网络中托管自定义宝石

提问于
浏览
0

我有一个非常有趣的问题 . 以下是我目前在经典模式下在Amazon EC2中部署的工作流程 .

  • 在我公司的网络中部署主机 .

  • Deploy Target是AWS中的EC2计算机 .

  • 在公司的git帐户中有自定义ruby宝石(因此无法从我公司网络外部安装宝石) .

  • 克服第3点提到的问题 . 我在部署主机和部署目标之间使用了反向隧道 .

  • 我正在使用capistrano进行部署 .


现在问题出现了,当我们决定从Amazon Classic迁移到Amazon VPC时,部署目标只有私有IP地址 . 这是我在VPC实例中部署代码时考虑的工作流程 .

  • 在Amazon VPC中创建部署主机并将公共DNS附加到它,以便我可以从我的主要部署主机(位于我公司的网络内)访问它 .

  • 通过从AWS部署主机运行部署脚本来部署代码 .

问题是我无法找到一种方法来安装托管在我公司的git帐户中的宝石 . 你能帮我解决这个问题吗?

2 回答

  • 0

    在部署之前,您只需通过推送到AWS部署主机中的git裸存储库来设置 生产环境 存储库的git镜像 .

    然后,AWS部署主机也可以访问您的VPC,以便您可以从那里进行部署 .

    希望能帮助到你 .

  • 0

    首先下载gem,然后使用scp将其传递给vpc中的ec2实例

    scp -r -i key ubuntu@ip-address:/ruby-app
    

    然后从文件夹运行 gem install gem-name ,它将从与名称匹配的文件夹中安装gem .

    运行 bundle package ,这将下载所有宝石,并将出现在 vendor/cache 文件夹中 . 现在将此文件移动到ec2实例 .

相关问题