Azure DevOps Pipelines에서 powershell 스크립트를 실행하는 방법
4306 단어 pipelinedevopspowershellazure
먼저 Azure DevOps 프로젝트의 리포지토리를 열고 여기에 스크립트를 추가합니다. 아래는 Powershell 스크립트이며 스크립트 이름은 ps1 확장자를 가진 모든 것이 될 수 있습니다. azureoperationsscript.ps1을 유지하고 있습니다.
[CmdletBinding()]
param (
$OrganizationUrl,
$PAT,
$OrganizationName
)
$orgUrl = $OrganizationUrl
$pat = $PAT
# Create header with PAT
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($pat)"))
$header = @{authorization = "Basic $token"}
# Get the list of all projects in the organization
$projectsUrl = "$OrganizationUrl/_apis/projects?api-version=5.1"
$projects = Invoke-RestMethod -Uri $projectsUrl -Method Get -ContentType "application/json" -Headers $header
$projects.value | ForEach-Object {
Write-Host $_.id $_.name
$user =[pscustomobject]@{
'id' = $_.id
'name' = $_.name
}
$user | Export-CSV -Path allprojnameid.csv -Append -NoTypeInformation -Force
}
기본 Powershell 스크립팅 구문 및 구조를 모르는 경우 자습서series를 참조하십시오. Invoke-RestMethod cmdlet은 풍부하게 구조화된 데이터를 반환하는 REST 웹 서비스에 HTTP 및 HTTPS 요청을 보냅니다.
스크립트는 명령 인수에서 전달된 매개 변수를 가져온 다음 Azure DevOps Rest API를 호출하여 조직 내의 모든 프로젝트를 반환하고 마지막으로 CSV 파일에 저장합니다.
스크립트가 준비되면 스크립트를 호출하여 Azure DevOps API 작업을 수행할 파이프라인을 만들 차례입니다.
프로젝트 -> 파이프라인 -> 변수를 추가하려는 파이프라인으로 이동하고 Powershell 스크립트를 실행하면 편집 옵션이 표시되며 클릭합니다.
아래 이미지에 따라 모든 파이프라인에서 액세스할 수 있는 변수(변수 값을 비밀로 유지할 수도 있음)를 설정합니다.
이제 프로젝트의 파이프라인 섹션으로 이동하여 새 파이프라인을 만듭니다.
리포지토리의 코드를 기반으로 Azure는 몇 가지 파이프라인을 제안하며 "스타터 파이프라인"을 선택할 수 있습니다. 그리고 아래 yml 파이프라인 콘텐츠를 스타터 파이프라인 코드로 바꿉니다.
trigger:
- main
stages:
- stage: Build
pool:
vmImage: 'windows-latest'
jobs:
- job: Build
displayName: 'Powershell Script Execute'
steps:
- task: PowerShell@2
displayName: 'Run Powershell Build'
inputs:
targetType: 'inline'
script: '.\azureoperationsscript.ps1 -OrganizationUrl $(OrganizationUrl) -PAT $(PAT) -OrganizationName $(OrganizationName)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'D:\a\1\s\allprojnameid.csv'
ArtifactName: 'drop'
publishLocation: 'Container'
위의 파이프라인에서 무슨 일이 일어나고 있는지 알려줍니다. 첫 번째 작업인 -task: PowerShell@2는 Azure DevOps 리포지토리 내에 배치된 powershell 스크립트를 실행하는 데 사용되는 Azure DevOps 파이프라인 작업입니다. 입력에서 스크립트가 저장소에 있는 경로를 제공하십시오.
참고: 위에서 저장한 변수를 인수로 전달하면 GetAllProjects.ps1의 매개 변수에 액세스할 수 있습니다.
두 번째 작업 - 작업: PublishBuildArtifacts@1은 작업입니다.
Azure Pipelines, 파일 공유 또는 TFS에 빌드 아티팩트를 게시하는 일을 담당합니다. 입력에서 PathtoPublish 필드는 csv 파일을 내보낸 파일의 경로를 예상합니다.
모든 설정!!!
파이프라인을 저장하면 파이프라인 섹션으로 다시 이동하여 실행 중인 파이프라인을 볼 수 있습니다. 성공적으로 실행되면 스크립트에 의해 생성된 csv 파일에서 나온 아티팩트가 게시된 것을 볼 수 있습니다.
고맙습니다.
Reference
이 문제에 관하여(Azure DevOps Pipelines에서 powershell 스크립트를 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/saurabhrai19/how-to-run-powershell-script-from-azure-devops-pipelines-1ngk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)