# Azure Pipeline Azure Pipelines 和 Github Action一样,支持各种语言,各种平台(windows,linux,mac),自动部署到各云平台,开源项目10个免费无线分钟数。 ## Usage 项目添加 `.azure-pipelines/azure-pipelines.yml`, ``` trigger: - main variables: # Azure Resource Manager connection created during pipeline creation azureSubscription: 'subscription-id' # Web app name webAppName: 'web-app-name' # Agent VM image name vmImageName: 'ubuntu-latest' # Environment name environmentName: 'environment-name' # Root folder under which your composer.json file is available. rootFolder: $(System.DefaultWorkingDirectory) stages: - stage: Build displayName: Build stage variables: phpVersion: '7.4' jobs: - job: BuildJob pool: vmImage: $(vmImageName) steps: - script: | sudo update-alternatives --set php /usr/bin/php$(phpVersion) sudo update-alternatives --set phar /usr/bin/phar$(phpVersion) sudo update-alternatives --set phpdbg /usr/bin/phpdbg$(phpVersion) sudo update-alternatives --set php-cgi /usr/bin/php-cgi$(phpVersion) sudo update-alternatives --set phar.phar /usr/bin/phar.phar$(phpVersion) php -version workingDirectory: $(rootFolder) displayName: 'Use PHP version $(phpVersion)' - script: composer install --no-interaction --prefer-dist workingDirectory: $(rootFolder) displayName: 'Composer install' - task: ArchiveFiles@2 displayName: 'Archive files' inputs: rootFolderOrFile: '$(rootFolder)' includeRootFolder: false archiveType: zip archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip replaceExistingArchive: true - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip displayName: 'Upload package' artifact: drop - stage: Deploy displayName: 'Deploy Web App' dependsOn: Build condition: succeeded() jobs: - deployment: DeploymentJob pool: vmImage: $(vmImageName) environment: $(environmentName) strategy: runOnce: deploy: steps: - task: AzureWebApp@1 displayName: 'Deploy Azure Web App' inputs: azureSubscription: $(azureSubscription) appName: $(webAppName) package: $(Pipeline.Workspace)/drop/$(Build.BuildId).zip ``` 注意其中指定 php 版本,安装依赖,部署等 ## AppCenter ## Reference [Azure Pipelines | Microsoft Azure](https://azure.microsoft.com/en-us/products/devops/pipelines) [Azure Pipelines documentation - Azure DevOps | Microsoft Learn](https://learn.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops)