Как развернуть основное приложение dotnet с помощью AWS CodePipeline в ElasticBeanstalk - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь создать базовое приложение ядра dotnet и развернуть его, используя инструмент по умолчанию, доступный мне в AWS. В настоящее время у меня работают следующие шаги:

  1. Репозиторий в CodeCommit
  2. Проверка запускает этап сборки CodeBuild на образе Ubuntu «aws / codebuild / dot-net: core-2.1», который запускает файл yml (который создает правильные файлы, необходимые для фактического запуска веб-приложения):

    version: 0.2
    
    phases:
    
    build:
    commands:
      - dotnet restore CMS/CMS.csproj
      - dotnet build CMS/CMS.csproj
      - dotnet publish CMS/CMS.csproj -o site
     artifacts:
      files:
        - CMS/site/**/*
        - CMS/aws-windows-deployment-manifest.json
    

AWS-окна-развертывание-manifest.json:

{
    "manifestVersion": 1,
    "deployments": {
        "aspNetCoreWeb": [{
                "name": "CMS",
                "parameters": {
                    "appBundle": "./site",
                    "iisPath": "/",
                    "iisWebSite": "Default Web Site"
                }
            }
        ]
    }
}
  1. CodeDeploy берет артефакты и публикует их в приложении эластичного бобового стебля, настроенном на использование окон. В настоящее время выполняется приложение по умолчанию.

Он проходит через каждый шаг в порядке, и я получаю зеленые галочки, но когда я перехожу к экземпляру EB, оригинальный сайт все еще отображается, показывая, что мое приложение не было развернуто. Я что-то упускаю?

Я очень надеялся, что смогу развернуть приложение от регистрации до завершения без необходимости изменять среду сборки, по крайней мере, прямо сейчас.

1 Ответ

0 голосов
/ 14 ноября 2018

Вот buildspec.yml, который я написал для создания пакета beanstalk из CodeBuild.

version: 0.2

phases:

  build:
    commands:
      - dotnet restore EbCiTest/EbCiTest.csproj
      - dotnet build EbCiTest/EbCiTest.csproj
      - dotnet publish EbCiTest/EbCiTest.csproj -o ./staging/app
      - cp ./EbCiTest/aws-windows-deployment-manifest.json ./EbCiTest/staging/.
artifacts:
  files:
    - '**/*'
  base-directory: 'EbCiTest/staging'

Думаю, проблема в том, что создаваемый вами файл zip содержит полные пути к файлам, поэтому файл aws-windows-deploy-manifest.json не находится в корне файла zip.Я предлагаю скопировать все в промежуточную папку, а затем использовать эту промежуточную папку в качестве базового каталога, который будет корнем zip-файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...