部署后如何在弹性beantalk上创建目录?

时间:2020-08-21 15:17:03

标签: amazon-web-services asp.net-core amazon-elastic-beanstalk

在将.Net Core项目部署到弹性beantalk上后,无法为我的日志创建目录。环境是Windows Server2016。我的.ebextensions / install.config中有以下脚本:

  "container_commands": {
    "create_app_data_dir": {
      "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data"
    },
    "create_logs_dir": {
      "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs"
    },
    "set_iis_log_acl": {
      "command": "icacls \"C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs\" /grant \"IIS AppPool\\DefaultAppPool\":(OI)(CI)M",
      "ignoreErrors": true
    }
  }
}

我怀疑可能正在创建目录,但随后又将其覆盖。我也尝试过仅使用“命令”而不是“ container_commands”。

1 个答案:

答案 0 :(得分:0)

您可以在根文件夹中添加一个名为.platform的文件夹。在00_myconf.config文件夹中创建一个名为.platform的文件,并在其中添加配置命令。

请在下面找到文件夹结构。

.platform/
         00_myconf.config

00_myconf.config 的内容

"container_commands": {
    "create_app_data_dir": {
      "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data"
    },
    "create_logs_dir": {
      "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs"
    },
    "set_iis_log_acl": {
      "command": "icacls \"C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs\" /grant \"IIS AppPool\\DefaultAppPool\":(OI)(CI)M",
      "ignoreErrors": true
    }
  }
}

重新部署您的项目,每次Elasticbeanstalk创建新实例时,Elasticbeanstalk将在00_myconf.config中执行命令。