YAML pipelines are typically the recommended choice for most scenarios due to their advantages, including version control, reproducibility, and flexibility.
However, there might still be situations where you might consider using classic pipelines (also known as UI-based pipelines) in Azure DevOps:
Legacy Systems: If you are working with older projects or legacy systems that were set up with classic pipelines and migrating them to YAML would require a significant effort, you might continue to use classic pipelines to maintain those projects.
Limited YAML Knowledge: If your team or organization lacks experience with YAML or if your pipeline configuration is very complex, it might be more straightforward to use the visual interface of classic pipelines, especially for users who are more comfortable with GUI-based tools.
Quick Prototyping: For quick prototyping or proof of concept (POC) projects, you might opt for classic pipelines because they allow you to set up a pipeline quickly without having to write YAML configuration.
Simple Pipelines: In cases where your CI/CD process is straightforward and doesn't require complex branching, conditional steps, or extensive customization, classic pipelines might be sufficient and more straightforward to set up.
Limited Source Control Integration: In scenarios where you don't use version control systems (e.g., Git) extensively, or if your source control integration is minimal, classic pipelines may be a suitable choice.
Third-Party Extensions: If you heavily rely on third-party extensions and integrations that are primarily designed for classic pipelines and are not yet available for YAML, this might be a reason to stick with classic pipelines.
UI-Driven Teams: In organizations where teams are more accustomed to using the Azure DevOps UI and are not yet comfortable with code-based pipeline definitions, classic pipelines can be a temporary solution while teams gradually transition to YAML.
Mixed Mode: Some organizations adopt a mixed mode approach where they use classic pipelines for certain parts of the CI/CD process and YAML pipelines for others. This allows flexibility while migrating to YAML gradually.
It's important to note that Azure DevOps is continually evolving, and Microsoft encourages users to adopt YAML pipelines for the benefits they offer. Over time, the features and capabilities of YAML pipelines may continue to expand, making them a more attractive option for various scenarios. Therefore, while classic pipelines may still be suitable in some situations, it's advisable to evaluate whether migrating to YAML pipelines is feasible and beneficial for your projects in the long run.