AZURE DEVOPS – EVERYTHING YOU NEED TO KNOW
AZURE DEVOPS provides developer services for allowing teams to plan work, collaborate on code development, and build and deploy applications.
Basically, Azure DevOps supports a collaborative culture and set of processes that bring together developers, project managers, and contributors to develop software. In addition, it allows organizations to create and improve products at a faster pace than they can with traditional software development approaches.
Above all, you can work in the cloud using Azure DevOps Services or on-premises using Azure DevOps Server
Azure DevOps services
Azure DevOps provides integrated features that you can access through your web browser or IDE client. Thus, you can use one or more of the following standalone services based on your business needs
1. Repos provides Git repositories or Team Foundation Version Control (TFVC) for source control of your code
2. Pipelines provides build and release services to support continuous integration and delivery of your applications
3. Boards delivers a suite of Agile tools to support planning and tracking work, code defects, and issues using Kanban and Scrum methods
4. Test Plans provides several tools to test your apps, including manual/exploratory testing and continuous testing
5. Azure Artifacts allows teams to share packages such as Maven, npm, NuGet, and more from public and private sources and integrate package sharing into your pipelines
Additional Collaborative Tools
Customizable team dashboards with configurable widgets to share information, progress, and trends
Built-in wikis for sharing information
Configurable notifications
In addition, integration is available with GitHub.com and GitHub Enterprise Server repositories. Hence, Azure DevOps Server supports integration with GitHub Enterprise Server repositories
When to choose Azure DevOps services?
When you want the following outcomes:
- Quick set-up
- Maintenance-free operations
- Easy collaboration across domains
- Elastic scale
- Rock-solid security
When to choose Azure DevOps Server?
Choose on-premises Azure DevOps Server when:
- You need your data to stay within your network.
- Your work tracking customization requirements are met better with the on-premises XML process model over the inheritance process model. The on-premises model supports modification of XML definition files.
In addition, when you deploy Azure DevOps Server, you can also configure the following servers or integration points:
- Build server supports on-premises and cloud-hosted builds.
- SQL Server and SQL Analysis Server support SQL Server Reports and the ability to create Excel pivot charts based on the cube.
Start for free by downloading Azure DevOps Server Express. Then, either upload your code to share or source control. Or, begin tracking your work using Scrum, Kanban, or a combination of methods.
What features and services do I get with Azure DevOps?
With Azure DevOps, you gain an integrated set of services and tools to manage your software projects, from planning and development through testing and deployment. Furthermore, services are delivered through a client/server model. Thus, many of them are delivered through an easy-to-use web interface that you can access from all major browsers. Whereas, some services, such as source control, build pipelines, and work tracking, can also be managed through a client.
Therefore, you access Azure DevOps Services through the left pane, as shown in the following image
Dashboards
You can do the following tasks in Dashboards
- Add, configure, and manage dashboards
- Configure widgets that you add to dashboards
- Quickly go to different areas of your project
Azure Source control
Source or version control systems allow developers to collaborate on code and track changes made to the code base. Source control is an essential tool for multi-developer projects.
Above all, there is support available for two types of source control: Git (distributed) or Team Foundation Version Control (TFVC), a centralized, client-server system. Hence, both systems enable you to check in files and organize files within folders, branches, and repositories
For example, with Git, each developer has a copy on their dev machine of the source repository, including all branch and history information. Each developer works directly with their own local repository and changes are shared between repositories as a separate step
Developers commit each set of changes and do version control operations like history and compare without a network connection. Thus, branches are lightweight. Therefore, when developers need to switch contexts, they create a private local branch and can switch from one branch to another to pivot among different variations of the codebase. Subsequently, they merge, publish, or dispose of the branch
Note
With TFVC, developers have only one version of each file on their dev machines. Hence, historical data is maintained only on the server. Branches are path-based and created on the server
From Repos, you gain access to your source control Git-based or Team Foundation Version Control (TFVC) repositories to support version control of your software projects. Therefore, these repositories are private
From Azure Repos for Git, you can do the following tasks:
- First, review, download, and edit files, and review the change history for a file
- Second, review and manage commits that have been pushed
- Review, create, approve, comment on, and complete pull requests
- Add and manage Git tags
Continuous integration and deployment
The rapid and reliable release of software comes from automating as many processes as possible. Our systems support build, test, and release automation
You can define builds to automatically run whenever a team member checks in code changes.
Your build pipelines can include instructions to run tests after the build runs.
Release pipelines support managing deployment of your software builds to staging or production environments.
In other words, Azure Pipelines provides an integrated set of features to support building and deploying your applications.
Use pipelines to implement continuous integration and continuous delivery.
- Build automation: Define the steps to take during build and the triggers that start a build.
- Release management: Supports a rapid release cadence and management of simultaneous releases. Thus, create your release manually or automatically from a build. in addition, then track your releases as they’re deployed to various environments.
Manual and exploratory testing
Test features support manual and exploratory testing, and continuous testing. Test Plans supports creating and managing manual tests.
With test features, you gain access to the following features:
- Customization of workflows with test plan, test suite, and test case work items
- End-to-end traceability from requirements to test cases and bugs with requirement-based test suites
- Criteria-based test selection with query-based test suites
- Excel-like interface with the grid for easy creation of test cases
- Reusable test steps and test data with shared steps and shared parameters
- Sharable test plans, test suites, and test cases for reviewing with Stakeholders
- Browser-based test execution on any platform
- Real-time charts for tracking test activity
Collaboration services
The following services work across the previously mentioned services to support:
- Team dashboards
- Project wiki
- Discussion within work item forms
- Linking of work items, commits, pull requests, and other artifacts to support traceability
- Alerts and change notifications managed per user, team, project, or organization
- Ability to request and manage feedback
- Analytics service, analytic views, and Power BI reporting
Service hooks
Service hooks enable you to complete tasks on other services when events happen within your project hosted on Azure DevOps. For example, you can send a push notification to your team’s mobile devices when a build fails. You can also use service hooks in custom apps and services as a more efficient way to drive activities in your projects.
The following services are available as the target of service hooks. To learn about other apps and services that integrate with Azure DevOps, visit the Visual Studio Marketplace, Azure DevOps tab
Administrative services
There are features and tasks associated with administering a collaborative software development environment. You complete most of these tasks through the web portal.