Обновление Azure Файл сборки DevOps - PullRequest
0 голосов
/ 12 января 2020

Я хотел бы обновить версию модуля файла powershell, я использовал команды Yaml / Powershell и смог изменить номер версии модуля, но теперь я хочу сохранить свои изменения в переменной расположения файла с именем fileLocation, я не знаю как я могу сохранить изменения, внесенные в этот файл .psd1. Текущий скрипт Yaml:

trigger:
  branches:
    include:
      - master

variables: 
  versionNumber: '1.0.$(Build.BuildNumber)'
  installModule: Install-Module -Name PowerShellGet -Scope CurrentUser -Repository PSGallery -Force -Verbose
  data: Get-Content -Path James.Artifactory.psd1
  fileLocation: James.Artifactory.psd1
  versionUpdate: Update-ModuleManifest -Path James.Artifactory.psd1 -ModuleVersion "$(versionNumber)"

steps:
  #Remove or commentout installModule after running it once
  #- pwsh: $(installModule)
  - pwsh: $(versionUpdate)
  - pwsh: $(data)
  - pwsh: Get-Content -Path $(fileLocation)
  - pwsh: Out-File -FilePath $(fileLocation)

1 Ответ

0 голосов
/ 13 января 2020

Вы можете запустить команду git в сценарии powershell, чтобы зафиксировать изменения в вашем хранилище.

Сначала вам нужно go Репозитории в настройках проекта . Нажмите Git Репозитории , на странице security нажмите плюс (+) и найдите группу {имя вашего проекта} служба сборки ({имя вашей организации}) и нажмите, чтобы добавить его, и на странице сводки управления доступом предоставьте права на добавление и чтение. Пожалуйста, проверьте скриншот ниже.

enter image description here

Затем настройте свой файл yaml для очистки исходного кода и llow-скрипт обращается к системному токену с помощью checkout. Ниже скрипт просто пример.

pool: default

steps:

- checkout: self
  clean: true
  persistCredentials: true

   - powershell: |
    cd $(System.defaultworkingdirectory)
    git checkout -B master

    New-Item -Path '$(System.defaultworkingdirectory)\newfile366.txt' -ItemType File 

    git add .
    git commit -m "Update"
    git push origin master

Над сценарием запустите git checkout -B master, чтобы оформить основную ветку. И я создаю новый файл с помощью команды New-Item. Затем я фиксирую изменения и pu sh в моих azure репозиториях.

Примечание: я тестировал как на агенте, размещенном на micrsoft, так и на агенте с собственным хостом. Я работаю только для запуска выше git команды на агенте с собственным хостом. Я всегда получал NativeCommandError на агенте, размещенном в Microsoft. Создайте собственного агента t для запуска конвейера yaml, если вы получите ту же ошибку.

_

Обновление:

Выше git команды будут вносить изменения в вашу основную ветку и запускать другую сборку, если вы включите сборку CI. Вы можете отключить сборку CI из Триггеров

Нажмите 3 точки и выберите Триггеры.

enter image description here

Тогда check переопределить yaml ... и Отключить непрерывную интеграцию

enter image description here

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