gpt4 book ai didi

azure - OnStart 与批处理文件的启动脚本?

转载 作者:行者123 更新时间:2023-12-02 08:10:36 25 4
gpt4 key购买 nike

我有一个 Ruby on Rails 应用程序,需要在 Azure 辅助角色中找到一个位置。

我目前使用批处理文件自动部署应用程序 - 该文件获取 apache 和 ruby​​ 安装程序,运行它们,然后将 RoR 应用程序放入适当的目录中。批处理脚本完成后,Apache 将通过端口 80 向应用程序提供服务。

我是 Azure 新手,正在尝试弄清楚如何执行此操作。

根据我的理解,我这里有两个选择:使用 Blob 存储中的安装文件进行 OnStart,或者启动脚本。我不确定如何执行后者,但我已在刚刚创建的新 Azure 项目的 WorkerRole.vb 文件中找到了 onStart 方法。

我的问题:是否建议使用OnStart来部署应用程序(使用批处理脚本)?如果是这样,我将如何将脚本集成到项目中?并且 - 如何开始存储和引用 Blob 存储中的文件?

我知道这些都是非常高级的问题。任何输入或建议的阅读都会非常有帮助。我尝试通过谷歌/搜索相关资源,但找不到太多。感谢您的时间!

最佳答案

当您在 OnStart() 函数中时,最好进行角色配置,即 IP 绑定(bind)等,但是如果您想安装运行时、下载应用程序 zip、配置角色特定设置,最好使用启动任务。请访问我的博客 Windows Azure: Startup task or OnStart(), which to choose?了解更多信息。

现在,根据您的情况,最好使用启动任务。您可以执行以下操作:

  1. 创建您的 ROR 包 zip 并将其放置在 Windows Azure Blob 存储中
  2. 创建一个 Cmmmand 批处理文件,该文件将执行以下操作:

    2.1 下载 ZIP

    2.2 解压将Zip内容压缩到特定位置

    2.3 将状态更新回 AZure Blob 存储(可选)

  3. 在 OnStart() 函数中,您只需配置 ROR

如果您将 TCP 端点名称“RORWeb80”设置为使用端口 80,则代码将如下所示:

TcpListener RoRPortListener = new TcpListener(RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["RORWeb80"].IPEndpoint);
RoRPortListener.Start();

我已经为 Tomcat/Java based worker role 编写了一个示例应用程序其作用完全相同。因此,您只需将 Tomcat ZIP 文件替换为 ROR ZIP 并准确地重用代码即可。

关于azure - OnStart 与批处理文件的启动脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11037017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com