Giter Club home page Giter Club logo

pipelinestoactions's Introduction

Azure Pipelines to Github Actions Comparison

Azure Pipelines has been a leader in CI\CD for a while and is rich in capabilities. Microsoft is focusing their efforts on GitHub actions which is an evolution of the Azures Pipelines architecture.

This site is to help you,

  • understand what the differences are
  • choose which platform your should pick
  • migrate to GitHub Actions as that is the future

The official documentation can be found here Migrating from Azure Pipelines to GitHub Actions

Feature

Lets start with a simple feature to feature comparison

馃敆 Azure Pipelines Notes Github Actions Notes Link to roadmap
馃敆 Variables Setting environment variables for scripts Environment Variables Variables are defined in the script
馃敆 Variables Variables in expressions Environment Variables Use $Variable or ${{env.variable}} syntax
- Set variable during execution Workflow commands use ::set-env
- Set Variables at trigger time Worflow_Dispatch Workflow dispatch allows for inputs that allows you to take values when w workflow is triggered
- System Variables Default Environment Variables Totally different naming for variables.
- Secret variables Encrypted secrets
- Agents Runners Its the same agent being used by both Azure Devops and Git Hub Actions
- Scaling build agents roadmap Actions: Multiple hosted runner sizes, custom networking, and custom images 路 Issue #95
- Deployment Groups Runners with labels Target based on matching ALL labels Using self-hosted runners in a workflow - GitHub Docs
- Environments Environments beta Can only be used for public repos
Does allow assigning resources to the environment
- Expressions Context and Expressions Looks slightly nicer than azure devops, access to richer context objects
- Condition Executing a task based on a condition, is a first class attribute of a step, job or stage Conditional Expression Use the if along with expression
- Stages Multiple jobs chained together Workflows chained Environments with checks will also provide a stage approach but at the job level
- Stage Approval As with azure Reviewing Deployments - beta Actions: Manual approvals in workflows 路 Issue #99
- Release Gates Azure pipelines yml doesn't support gates either, only the classic release Custom Action Actions can be used for some gates, polling/retry/timeout thats something to build into the action and thus will be using a runner for that time
- Logging Commands Workflow commands Very similar
- Fine grained repo controls roadmap Role-based Access Control (RBAC) - Custom Roles with fine-grained repo permissions 路 Issue #111
- Auto merge PRs Be able to auto merge a PR once checks have passed roadmap
- Pipeline templates Composite run steps action Using actions in the same repository
- Pipeline templates Sharing Workflows Actions: Centrally managed workflow templates 路 Issue #98
- Template control Be able to inject template and enforce policy roadmap Actions: Organization and enterprise workflows 路 Issue #52
- TaskGroup Custom Action ???
- VariableGroup Variables have to be defined as secrets or in the yml
- Test results Azure devops has rich testing analytics none

pipelinestoactions's People

Contributors

simonsabin avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.