Разверните устаревшее консольное приложение .net Framework на сервере Prem с помощью конвейера Azure DevOps CICD. - PullRequest
1 голос
/ 05 ноября 2019

Я новичок в конвейерах DevOps и CICD.
Я успешно развернул веб-сайт ASP .NET MVC с помощью конвейера Azure DevOps CICD на моем агенте / машине onprem с помощью Azure DevOps.

Точно так же я хочу развернуть консольное приложение, которое в конечном итоге можно использовать в качестве запланированного задания в Windows «Task Scheduler» или в качестве «Службы Windows». Сейчас я управляю этими развертываниями вручную, но, увидев мощь DevOps, я надеюсь, что действительно может быть какое-то автоматизированное решение и для консольных приложений.

Приложения встроены в устаревшую платформукак 3.5 до 4.5, так что нет .net core apps. Я нашел много онлайн-статей, которые демонстрируют развертывание веб-заданий на Azure или могут быть возможны для onprem, но возможно ли это для старых консольных приложений?

Я попытался создать очень простое консольное приложение в Framework 4.7 и попытался развернуть / скопировать / опубликовать на общем пути моего компьютера на preprem. Предоставил разрешение службам агентов VSTS, которые работают, но копировать файлы и публиковать задания артефактов не удается. Я пытался сделать это как в CI, так и в CD конвейерах, но все они терпят неудачу.

Пожалуйста, просмотрите конвейеры и журналы и предложите, где я делаю ошибку, или есть какие-либо альтернативы?
https://dev.azure.com/MSTCsandippatel/DemoConsoleApp

2019-11-05T05: 03: 52.8436105Z ## [ошибка] Публикация артефактов сборки завершилась ошибкой: невозможно создать каталог '\ MAHANTAM \ Azure Artifacts \ DemoConsoleApp». Невозможно проверить, существует ли каталог: '\ MAHANTAM \ Azure Artifacts \ DemoConsoleApp'. Если каталог является файловым ресурсом, убедитесь, что имя общего ресурса указано правильно, общий ресурс находится в оперативном режиме, и текущий процесс имеет разрешение на доступ к общему ресурсу.

CI конвейер 1

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=True /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'DemoConsoleApp'
    publishLocation: 'Container'
trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=True /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'DemoConsoleApp'
    publishLocation: 'Container'
*Трубопровод 1027 * CI 2
pool:
  name: Azure Pipelines
  demands:
  - msbuild
  - visualstudio

steps:
- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.4.1'
  inputs:
    versionSpec: 4.4.1

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Parameters.solution)'
    vstsFeed: '622d44e2-69d4-4d42-bb91-9d6ddd97f9ba/8eaf9077-829d-4567-93c0-8e0d7973634b'

- task: VSBuild@1
  displayName: 'Build solution **\*.sln'
  inputs:
    solution: '$(Parameters.solution)'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'

- task: PublishSymbols@2
  displayName: 'Publish symbols path'
  inputs:
    SearchPattern: '**\bin\**\*.pdb'
    PublishSymbols: false
  continueOnError: true

- task: CopyFiles@2
  displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
  inputs:
    SourceFolder: '$(system.defaultworkingdirectory)'
    Contents: '**\bin\$(BuildConfiguration)\**'
    TargetFolder: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()

- task: CopyFiles@2
  displayName: 'Copy Files Task'
  inputs:
    SourceFolder: '$(system.defaultworkingdirectory)'
    Contents: '**/**'
    TargetFolder: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()

- task: ArchiveFiles@2
  displayName: 'Archive $(Build.BinariesDirectory)'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: DemoConsoleApp'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
    ArtifactName: DemoConsoleApp

enter image description here

Deployment group - machine

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