My team is thinking of switching from Azure DevOps to GitHub Actions, currently we are using Azure DevOps Pipelines to handle code deployments. Our release pipelines are configured in a way where they are multi-staged whereas each stage is an environment (dev,qa,prod) and we also have a "review stage/approval" in the pipeline where someone has to review the code in the github repo before approving it. Also we will soon have some pipelines that will source from multiple repos. Will GitHub actions even support something like this? What are the main differences between Azure DevOps/Piplines and GitHub Actions? I heard github actions can only be pointed (or sourced) from a single repo.
1 Answer
Different between Azure DevOps versus GitHub Actions:
Azure Pipelines supports a legacy classic editor, which lets you define your CI configuration in a GUI editor instead of creating the pipeline definition in a YAML file. GitHub Actions uses YAML files to define workflows and does not support a graphical editor.
Azure Pipelines allows you to omit some structure in job definitions. For example, if you only have a single job, you don't need to define the job and only need to define its steps. GitHub Actions requires explicit configuration, and YAML structure cannot be omitted.
Azure Pipelines supports stages defined in the YAML file, which can be used to create deployment workflows. GitHub Actions requires you to separate stages into separate YAML workflow files.
On-premises Azure Pipelines build agents can be selected with capabilities. GitHub Actions self-hosted runners can be selected with labels.