You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/api-management/devops-api-development-templates.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ An API developer writes an API definition by providing a specification, settings
27
27
There are several tools to assist producing the API definition:
28
28
29
29
* The [Azure API Management DevOps Resource Toolkit][4] includes two tools that provide an Azure Resource Manager (ARM) template. The _extractor_ creates an ARM template by extracting an API definition from an API Management service. The _creator_ produces the ARM template from a YAML specification. The DevOps Resource Toolkit supports SOAP, REST, and GraphQL APIs.
30
-
* The [Azure API Ops Toolkit][5] provides a workflow built on top of a [git][21] source code control system (such as [GitHub][22] or [Azure Repos][23]). It uses an _extractor_ similar to the DevOps Resource Toolkit to produce an API definition that is then applied to a target API Management service. API Ops supports REST only at this time.
30
+
* The [Azure APIOps Toolkit][5] provides a workflow built on top of a [git][21] source code control system (such as [GitHub][22] or [Azure Repos][23]). It uses an _extractor_ similar to the DevOps Resource Toolkit to produce an API definition that is then applied to a target API Management service. APIOps supports REST only at this time.
31
31
* The [dotnet-apim][6] tool converts a well-formed YAML definition into an ARM template for later deployment. The tool is focused on REST APIs.
32
32
*[Terraform][7] is an alternative to Azure Resource Manager to configure resources in Azure. You can create a Terraform configuration (together with policies) to implement the API in the same way that an ARM template is created.
33
33
@@ -54,36 +54,36 @@ Once the automated tools have been run, the API definition is reviewed by the hu
54
54
The API definition will be published to an API Management service through a release pipeline. The tools used to publish the API definition depend on the tool used to produce the API definition:
55
55
56
56
* If using the [Azure API Management DevOps Resource Toolkit][4] or [dotnet-apim][6], the API definition is represented as an ARM template. Tasks are available for [Azure Pipelines][17] and [GitHub Actions][18] to deploy an ARM template.
57
-
* If using the [Azure API Ops Toolkit][5], the toolkit includes a publisher that writes the API definition to the service.
57
+
* If using the [Azure APIOps Toolkit][5], the toolkit includes a publisher that writes the API definition to the service.
58
58
* If using [Terraform][7], CLI tools will deploy the API definition on your service. There are tasks available for [Azure Pipelines][19] and [GitHub Actions][20]
59
59
60
60
> **Can I use other source code control and CI/CD systems?**
61
61
>
62
-
> Yes. The process described works with any source code control system (although API Ops does require that the source code control system is [git][21] based). Similarly, you can use any CI/CD platform as long as it can be triggered by a check-in and run command line tools that communicate with Azure.
62
+
> Yes. The process described works with any source code control system (although APIOps does require that the source code control system is [git][21] based). Similarly, you can use any CI/CD platform as long as it can be triggered by a check-in and run command line tools that communicate with Azure.
63
63
64
64
## Best practices
65
65
66
66
There's no industry standard for setting up a DevOps pipeline for publishing APIs, and none of the tools mentioned will work in all situations. However, we see that most situations are covered by using a combination of the following tools and services:
67
67
68
68
*[Azure Repos][23] stores the API definitions in a [git][21] repository.
69
69
*[Azure Pipelines][17] runs the automated API approval and API publication processes.
70
-
*[Azure API Ops Toolkit][5] provides tools and workflows for publishing APIs.
70
+
*[Azure APIOps Toolkit][5] provides tools and workflows for publishing APIs.
71
71
72
72
We've seen the greatest success in customer deployments, and recommend the following practices:
73
73
74
74
* Set up either [GitHub][22] or [Azure Repos][23] for your source code control system. This choice will determine your choice of pipeline runner as well. GitHub can use [Azure Pipelines][17] or [GitHub Actions][18], whereas Azure Repos must use Azure Pipelines.
75
75
* Set up an Azure API Management service for each API developer so that they can develop API definitions along with the API service. Use the consumption or developer SKU when creating the service.
76
76
* Use [policy fragments][24] to reduce the new policy that developers need to write for each API.
77
-
* Use the [Azure API Ops Toolkit][5] to extract a working API definition from the developer service.
77
+
* Use the [Azure APIOps Toolkit][5] to extract a working API definition from the developer service.
78
78
* Set up an API approval process that runs on each pull request. The API approval process should include breaking change detection, linting, and automated API testing.
79
-
* Use the [Azure API Ops Toolkit][5] publisher to publish the API to your production API Management service.
79
+
* Use the [Azure APIOps Toolkit][5] publisher to publish the API to your production API Management service.
80
80
81
-
Review [Automated API deployments with API Ops][28] in the Azure Architecture Center for more details on how to configure and run a CI/CD deployment pipeline with API Ops.
81
+
Review [Automated API deployments with APIOps][28] in the Azure Architecture Center for more details on how to configure and run a CI/CD deployment pipeline with APIOps.
82
82
83
83
## References
84
84
85
85
*[Azure DevOps Services][25] includes [Azure Repos][23] and [Azure Pipelines][17].
86
-
*[Azure API Ops Toolkit][5] provides a workflow for API Management DevOps.
86
+
*[Azure APIOps Toolkit][5] provides a workflow for API Management DevOps.
87
87
*[Spectral][12] provides a linter for OpenAPI specifications.
88
88
*[openapi-diff][13] provides a breaking change detector for OpenAPI v3 definitions.
89
89
*[Newman][15] provides an automated test runner for Postman collections.
0 commit comments