我已经在 Azure DevOps 中为 Unity3D 项目创建了一个构建管道。我已成功为 Unity3D 项目生成工件。我想使用 Azure DevOps 发布管道将 Unity3D 项目的工件上传到 SharePoint Online。
那么,有人可以向我建议是否有任何发布任务可以使用 Azure DevOps 发布管道将文件上传到 SharePoint Online 吗?
是的,您可以将您的工件上传到共享点目录中。请找到可以完成这项工作的 Azure DevOps 扩展。
https://marketplace.visualstudio.com/items?itemName=halliba.az-pipelines-2-sharepoint
此扩展有详细记录,并给出了所有必要的步骤。
谢谢
您可以使用 AzurePowerShell@5 Task 来实现此目的,更多详细信息请参见此 URL https://dev.to/kkazala/azure-devops-pipeline-with-workload-identity-federation-2gpj
以下是示例代码
- task: AzurePowerShell@5
name: Upload Folder To SP
inputs:
azureSubscription: {SerivicePrincipal Name Created in ADO}
azurePowerShellVersion: latestVersion
ScriptType: InlineScript
Inline: |
try {
$azAccessToken = Get-AzAccessToken -ResourceUrl "https://{tenantID}.sharepoint.com"
$siteUrl = "https://{tenantID}.sharepoint.com/sites/{sitename}"
$conn = Connect-PnPOnline -Url $siteUrl -AccessToken $azAccessToken.Token -ReturnConnection
Write-Host $conn.Url
}
catch {
Write-Host "##[error] 1 (Connect-PnPOnline -AccessToken): $($_.Exception.Message)"
}
try {
$lists = Get-PnPList -Connection $conn
Write-Host "List names:"
$lists | ForEach-Object { Write-Host $_.Title }
$sharePointFolderUrl = "$siteUrl/Dokumente"
Add-PnPFolder -Name $folderName -Folder $sharePointFolderUrl
}
catch {
Write-Host "##[error] 2 (Add-PnPFolder): $($_.Exception.Message)"
}
注意: 您必须使用以下命令来提供特定站点的权限
Grant-PnPAzureADAppSitePermission -AppId 'xxx' -Site 'https://xx.sharepoint.com/sites/{sitename}' -Permissions Write