diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-docker-to-azure-app-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-docker-to-azure-app-service.md similarity index 88% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-docker-to-azure-app-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-docker-to-azure-app-service.md index 16aafee2b191..235dec6dbf74 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-docker-to-azure-app-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-docker-to-azure-app-service.md @@ -1,11 +1,11 @@ --- title: Deploying Docker to Azure App Service -intro: You can deploy a Docker container to Azure App Service as part of your continuous deployment (CD) workflows. +shortTitle: Docker to Azure App Service +intro: Learn how to deploy a Docker container to Azure App Service as part of your continuous deployment (CD) workflows. versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Containers @@ -14,17 +14,9 @@ topics: redirect_from: - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service - /actions/use-cases-and-examples/deploying/deploying-docker-to-azure-app-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-docker-to-azure-app-service --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Docker container to [Azure App Service](https://azure.microsoft.com/services/app-service/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -140,9 +132,7 @@ jobs: images: 'ghcr.io/{% raw %}${{ env.REPO }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %}' ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-container-webapp.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-container-webapp.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-java-to-azure-app-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-java-to-azure-app-service.md similarity index 85% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-java-to-azure-app-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-java-to-azure-app-service.md index e52679c16769..893f2afb8268 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-java-to-azure-app-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-java-to-azure-app-service.md @@ -1,11 +1,11 @@ --- title: Deploying Java to Azure App Service -intro: You can deploy your Java project to Azure App Service as part of your continuous deployment (CD) workflows. +shortTitle: Java to Azure App Service +intro: Learn how to deploy a Java project to Azure App Service as part of your continuous deployment (CD) workflows. versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Java @@ -13,17 +13,9 @@ topics: redirect_from: - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service - /actions/use-cases-and-examples/deploying/deploying-java-to-azure-app-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-java-to-azure-app-service --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Java project to [Azure App Service](https://azure.microsoft.com/services/app-service/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -118,9 +110,7 @@ jobs: package: '*.jar' ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-webapps-java-jar.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-java-jar.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-net-to-azure-app-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-net-to-azure-app-service.md similarity index 87% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-net-to-azure-app-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-net-to-azure-app-service.md index c87a75a83a01..8c38f769d70b 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-net-to-azure-app-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-net-to-azure-app-service.md @@ -1,28 +1,20 @@ --- title: Deploying .NET to Azure App Service -intro: You can deploy your .NET project to Azure App Service as part of your continuous deployment (CD) workflows. +shortTitle: .NET to Azure App Service +intro: Learn how to deploy a .NET project to Azure App Service as part of your continuous deployment (CD) workflows. versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Azure App Service redirect_from: - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service - /actions/use-cases-and-examples/deploying/deploying-net-to-azure-app-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-net-to-azure-app-service --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a .NET project to [Azure App Service](https://azure.microsoft.com/services/app-service/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -128,9 +120,7 @@ jobs: package: {% raw %}${{ env.AZURE_WEBAPP_PACKAGE_PATH }}{% endraw %} ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-webapps-dotnet-core.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-dotnet-core.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-nodejs-to-azure-app-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-nodejs-to-azure-app-service.md similarity index 87% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-nodejs-to-azure-app-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-nodejs-to-azure-app-service.md index 0d5113c5b865..7dc48100f797 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-nodejs-to-azure-app-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-nodejs-to-azure-app-service.md @@ -1,17 +1,18 @@ --- title: Deploying Node.js to Azure App Service -intro: You can deploy your Node.js project to Azure App Service as part of your continuous deployment (CD) workflows. +shortTitle: Node.js to Azure App Service +intro: Learn how to deploy a Node.js project to Azure App Service as part of your continuous deployment (CD) workflows. redirect_from: - /actions/guides/deploying-to-azure-app-service - /actions/deployment/deploying-to-azure-app-service - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure-app-service - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service - /actions/use-cases-and-examples/deploying/deploying-nodejs-to-azure-app-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-nodejs-to-azure-app-service versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Node @@ -19,15 +20,6 @@ topics: - Azure App Service --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build, test, and deploy a Node.js project to [Azure App Service](https://azure.microsoft.com/services/app-service/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -122,9 +114,7 @@ jobs: package: {% raw %}${{ env.AZURE_WEBAPP_PACKAGE_PATH }}{% endraw %} ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-webapps-node.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-node.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-php-to-azure-app-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-php-to-azure-app-service.md similarity index 88% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-php-to-azure-app-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-php-to-azure-app-service.md index 5433968f6892..d3e9b26829dc 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-php-to-azure-app-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-php-to-azure-app-service.md @@ -1,28 +1,20 @@ --- title: Deploying PHP to Azure App Service -intro: You can deploy your PHP project to Azure App Service as part of your continuous deployment (CD) workflows. +shortTitle: PHP to Azure App Service +intro: Learn how to deploy a PHP project to Azure App Service as part of your continuous deployment (CD) workflows. versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Azure App Service redirect_from: - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service - /actions/use-cases-and-examples/deploying/deploying-php-to-azure-app-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-php-to-azure-app-service --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a PHP project to [Azure App Service](https://azure.microsoft.com/services/app-service/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -139,9 +131,7 @@ jobs: package: . ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-webapps-php.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-php.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-python-to-azure-app-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-python-to-azure-app-service.md similarity index 87% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-python-to-azure-app-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-python-to-azure-app-service.md index c39ff1eebdbb..eb5c62424363 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-python-to-azure-app-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-python-to-azure-app-service.md @@ -1,11 +1,11 @@ --- title: Deploying Python to Azure App Service -intro: You can deploy your Python project to Azure App Service as part of your continuous deployment (CD) workflows. +shortTitle: Python to Azure App Service +intro: Learn how to deploy a Python project to Azure App Service as part of your continuous deployment (CD) workflows. versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Python @@ -13,17 +13,9 @@ topics: redirect_from: - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service - /actions/use-cases-and-examples/deploying/deploying-python-to-azure-app-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-python-to-azure-app-service --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Python project to [Azure App Service](https://azure.microsoft.com/services/app-service/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -135,9 +127,7 @@ jobs: publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %} ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-webapps-python.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-python.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-amazon-elastic-container-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-amazon-elastic-container-service.md similarity index 87% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-amazon-elastic-container-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-amazon-elastic-container-service.md index bb2f9a44d831..9e74c876f542 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-amazon-elastic-container-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-amazon-elastic-container-service.md @@ -1,34 +1,23 @@ --- title: Deploying to Amazon Elastic Container Service -intro: You can deploy to Amazon Elastic Container Service (ECS) as part of your continuous deployment (CD) workflows. +shortTitle: Amazon Elastic Container Service +intro: Learn how to deploy a project to Amazon Elastic Container Service (ECS) as part of a continuous deployment (CD) workflow. redirect_from: - /actions/guides/deploying-to-amazon-elastic-container-service - /actions/deployment/deploying-to-amazon-elastic-container-service - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-container-service - /actions/use-cases-and-examples/deploying/deploying-to-amazon-elastic-container-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-to-amazon-elastic-container-service versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Containers - Amazon ECS -shortTitle: Deploy to Amazon ECS --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/), and deploy it to [Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/) when there is a push to the `main` branch. - -On every new push to `main` in your {% data variables.product.company_short %} repository, the {% data variables.product.prodname_actions %} workflow builds and pushes a new container image to Amazon ECR, and then deploys a new task definition to Amazon ECS. - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps for Amazon ECR and ECS: @@ -167,7 +156,7 @@ jobs: wait-for-service-stability: true{% endraw %} ``` -## Additional resources +## Further reading For the original workflow template, see [`aws.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/aws.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-kubernetes-service.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-azure-kubernetes-service.md similarity index 89% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-kubernetes-service.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-azure-kubernetes-service.md index 7df3575d231a..9a5bb2e4a858 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-kubernetes-service.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-azure-kubernetes-service.md @@ -1,28 +1,20 @@ --- title: Deploying to Azure Kubernetes Service -intro: You can deploy your project to Azure Kubernetes Service (AKS) as part of your continuous deployment (CD) workflows. +shortTitle: Azure Kubernetes Service +intro: Learn how to deploy a project to Azure Kubernetes Service (AKS) as part of a continuous deployment (CD) workflow. versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Azure Kubernetes Service redirect_from: - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service - /actions/use-cases-and-examples/deploying/deploying-to-azure-kubernetes-service + - /actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-kubernetes-service --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a project to [Azure Kubernetes Service](https://azure.microsoft.com/services/kubernetes-service/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -112,9 +104,7 @@ jobs: {% raw %}${{ env.PROJECT_NAME }}{% endraw %} ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-kubernetes-service.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-kubernetes-service.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The actions used to in this workflow are the official Azure [`Azure/login`](https://github.com/Azure/login),[`Azure/aks-set-context`](https://github.com/Azure/aks-set-context), [`Azure/CLI`](https://github.com/Azure/CLI), [`Azure/k8s-bake`](https://github.com/Azure/k8s-bake), and [`Azure/k8s-deploy`](https://github.com/Azure/k8s-deploy)actions. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-static-web-app.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-azure-static-web-app.md similarity index 87% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-static-web-app.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-azure-static-web-app.md index a6954cef2452..59ac2ccfe699 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-static-web-app.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-azure-static-web-app.md @@ -1,28 +1,20 @@ --- title: Deploying to Azure Static Web App -intro: You can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows. +shortTitle: Azure Static Web App +intro: Learn how to deploy a web app to Azure Static Web App as part of your continuous deployment (CD) workflows. versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CD - Azure Static Web Apps redirect_from: - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app - /actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app + - /actions/how-tos/use-cases-and-examples/deploying/deploying-to-azure-static-web-app --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a web app to [Azure Static Web Apps](https://azure.microsoft.com/services/app-service/static/). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} and [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure). - ## Prerequisites Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: @@ -101,9 +93,7 @@ jobs: action: "close" ``` -## Additional resources - -The following resources may also be useful: +## Further reading * For the original workflow template, see [`azure-staticwebapp.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-staticwebapp.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/static-web-apps-deploy`](https://github.com/Azure/static-web-apps-deploy) action. diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-google-kubernetes-engine.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-google-kubernetes-engine.md similarity index 89% rename from content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-google-kubernetes-engine.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-google-kubernetes-engine.md index 3490b4ea23c9..45f69a2c0ff4 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/deploying-to-google-kubernetes-engine.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/deploying-to-google-kubernetes-engine.md @@ -1,11 +1,13 @@ --- title: Deploying to Google Kubernetes Engine -intro: You can deploy to Google Kubernetes Engine as part of your continuous deployment (CD) workflows. +shortTitle: Google Kubernetes Engine +intro: Learn how to deploy a project to Google Kubernetes Engine (GKE) as part of a continuous deployment (CD) workflow. redirect_from: - /actions/guides/deploying-to-google-kubernetes-engine - /actions/deployment/deploying-to-google-kubernetes-engine - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-google-kubernetes-engine - /actions/use-cases-and-examples/deploying/deploying-to-google-kubernetes-engine + - /actions/how-tos/use-cases-and-examples/deploying/deploying-to-google-kubernetes-engine versions: fpt: '*' ghes: '*' @@ -15,20 +17,8 @@ topics: - CD - Containers - Google Kubernetes Engine -shortTitle: Deploy to Google Kubernetes Engine --- -{% data reusables.actions.enterprise-github-hosted-runners %} - -## Introduction - -This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to Google Container Registry (GCR), and deploy it to Google Kubernetes Engine (GKE) when there is a push to the `main` branch. - -GKE is a managed Kubernetes cluster service from Google Cloud that can host your containerized workloads in the cloud or in your own datacenter. For more information, see [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine). - -> [!NOTE] -> {% data reusables.actions.about-oidc-short-overview %} - ## Prerequisites Before you proceed with creating the workflow, you will need to complete the following steps for your Kubernetes project. This guide assumes the root of your project already has a `Dockerfile` and a Kubernetes Deployment configuration file. @@ -203,7 +193,7 @@ jobs: kubectl get services -o wide ``` -## Additional resources +## Further reading For more information on the tools used in these examples, see the following documentation: diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/index.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/index.md similarity index 59% rename from content/actions/how-tos/use-cases-and-examples/deploying/index.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/index.md index ace370f6178a..7c7f34f8ecd0 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/index.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/index.md @@ -1,7 +1,13 @@ --- -title: Deploying -shortTitle: Deployment -intro: 'Automatically deploy projects with {% data variables.product.prodname_actions %}.' +title: Managing deployments to third-party platforms +shortTitle: Third-party platforms +intro: Learn how to deploy to third-party platforms as part of your continuous deployment and continuous integration workflows. +redirect_from: + - /actions/deployment + - /actions/deployment/deploying-to-your-cloud-provider + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure + - /actions/use-cases-and-examples/deploying + - /actions/how-tos/use-cases-and-examples/deploying versions: fpt: '*' ghes: '*' @@ -18,7 +24,5 @@ children: - /deploying-to-amazon-elastic-container-service - /deploying-to-google-kubernetes-engine - /installing-an-apple-certificate-on-macos-runners-for-xcode-development -redirect_from: - - /actions/use-cases-and-examples/deploying --- diff --git a/content/actions/how-tos/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md similarity index 92% rename from content/actions/how-tos/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md rename to content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md index 2a5de1f473f1..94c570447d80 100644 --- a/content/actions/how-tos/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/deploying-to-third-party-platforms/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md @@ -1,18 +1,18 @@ --- title: Installing an Apple certificate on macOS runners for Xcode development shortTitle: Sign Xcode applications -intro: 'You can sign Xcode apps within your continuous integration (CI) workflow by installing an Apple code signing certificate on {% data variables.product.prodname_actions %} runners.' +intro: Learn how to sign Xcode apps within a continuous integration (CI) workflow by installing an Apple code signing certificate on {% data variables.product.prodname_actions %} runners. redirect_from: - /actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development - /actions/deployment/installing-an-apple-certificate-on-macos-runners-for-xcode-development - /actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development - /actions/deployment/deploying-xcode-applications - /actions/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development + - /actions/how-tos/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development versions: fpt: '*' ghes: '*' ghec: '*' -type: tutorial topics: - CI - Xcode @@ -20,10 +20,6 @@ topics: {% data reusables.actions.enterprise-github-hosted-runners %} -## Introduction - -This guide shows you how to add a step to your continuous integration (CI) workflow that installs an Apple code signing certificate and provisioning profile on {% data variables.product.prodname_actions %} runners. This will allow you to sign your Xcode apps for publishing to the Apple App Store, or distributing it to test groups. - ## Prerequisites You should be familiar with YAML and the syntax for {% data variables.product.prodname_actions %}. For more information, see: diff --git a/content/actions/how-tos/managing-workflow-runs-and-deployments/index.md b/content/actions/how-tos/managing-workflow-runs-and-deployments/index.md index bedea9ddd462..22872410c254 100644 --- a/content/actions/how-tos/managing-workflow-runs-and-deployments/index.md +++ b/content/actions/how-tos/managing-workflow-runs-and-deployments/index.md @@ -17,6 +17,7 @@ versions: children: - /managing-workflow-runs - /managing-deployments + - /deploying-to-third-party-platforms --- {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/content/actions/how-tos/use-cases-and-examples/index.md b/content/actions/how-tos/use-cases-and-examples/index.md index 1080e73b208b..31a6e86ab015 100644 --- a/content/actions/how-tos/use-cases-and-examples/index.md +++ b/content/actions/how-tos/use-cases-and-examples/index.md @@ -8,13 +8,9 @@ versions: ghec: '*' redirect_from: - /actions/examples - - /actions/deployment - - /actions/deployment/deploying-to-your-cloud-provider - - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure - /actions/use-cases-and-examples children: - building-and-testing - - deploying - publishing-packages - project-management - using-containerized-services diff --git a/src/archives/middleware/archived-enterprise-versions-assets.ts b/src/archives/middleware/archived-enterprise-versions-assets.ts index 750dd0499a28..4026bcb712b2 100644 --- a/src/archives/middleware/archived-enterprise-versions-assets.ts +++ b/src/archives/middleware/archived-enterprise-versions-assets.ts @@ -49,6 +49,22 @@ export default async function archivedEnterpriseVersionsAssets( const { isArchived, requestedVersion } = isArchivedVersion(req) if (!isArchived || !requestedVersion) return next() + // If this looks like a Next.js chunk or build manifest request from an archived page, + // just return 204 No Content instead of trying to proxy it. + // This suppresses noise from hydration requests that don't affect + // content viewing since archived pages render fine server-side. + // Only target specific problematic asset types, not all _next/static assets. + if ( + (req.path.includes('/_next/static/chunks/') || + req.path.includes('/_buildManifest.js') || + req.path.includes('/_ssgManifest.js')) && + (req.get('referrer') || '').match(/enterprise(-server@|\/)[\d.]+/) + ) { + archivedCacheControl(res) + setFastlySurrogateKey(res, SURROGATE_ENUMS.MANUAL) + return res.sendStatus(204) // No Content - silently ignore + } + // In all of the `docs-ghes- void send?: (body: any) => void + sendStatus?: (statusCode: number) => void + end?: () => void _json?: string _send?: string headers: Record @@ -48,8 +50,8 @@ type MockResponse = { const mockResponse = () => { const res: MockResponse = { - status: 404, - statusCode: 404, + status: undefined as any, + statusCode: undefined as any, headers: {}, } res.json = (payload) => { @@ -60,6 +62,14 @@ const mockResponse = () => { res.statusCode = 200 res._send = body } + res.end = () => { + // Mock end method + } + res.sendStatus = (statusCode) => { + res.status = statusCode + res.statusCode = statusCode + // Mock sendStatus method + } res.set = (key, value) => { if (typeof key === 'string') { res.headers[key.toLowerCase()] = value @@ -75,6 +85,12 @@ const mockResponse = () => { res.hasHeader = (key) => { return key in res.headers } + // Add Express-style status method that supports chaining + ;(res as any).status = (code: number) => { + res.status = code + res.statusCode = code + return res + } return res } @@ -178,7 +194,12 @@ describe('archived enterprise static assets', () => { }) nock('https://github.github.com') .get('/docs-ghes-2.3/_next/static/fourofour.css') - .reply(404, 'Not found', { + .reply(404, 'not found', { + 'content-type': 'text/plain', + }) + nock('https://github.github.com') + .get('/docs-ghes-3.5/assets/images/some-image.png') + .reply(404, 'not found', { 'content-type': 'text/plain', }) nock('https://github.github.com') @@ -251,7 +272,6 @@ describe('archived enterprise static assets', () => { } setDefaultFastlySurrogateKey(req, res, next) await archivedEnterpriseVersionsAssets(req as any, res as any, next) - expect(res.statusCode).toBe(404) // It didn't exit in that middleware but called next() to move on // with any other middlewares. expect(nexted).toBe(true) @@ -274,4 +294,87 @@ describe('archived enterprise static assets', () => { // tried "our disk" and it's eventually there. expect(nexted).toBe(true) }) + + describe.each([ + { + name: 'Next.js chunk assets from archived enterprise referrer (legacy format)', + path: '/_next/static/chunks/9589-81283b60820a85f5.js', + referrer: '/en/enterprise/3.5/authentication/connecting-to-github-with-ssh', + expectStatus: 204, + shouldCallNext: false, + }, + { + name: 'Next.js chunk assets from archived enterprise referrer (new format)', + path: '/_next/static/chunks/pages/[versionId]-40812da083876691.js', + referrer: '/en/enterprise-server@3.5/authentication/connecting-to-github-with-ssh', + expectStatus: 204, + shouldCallNext: false, + }, + { + name: 'Next.js build manifest from archived enterprise referrer', + path: '/_next/static/NkhGE2zLVuDHVh7pXdtVC/_buildManifest.js', + referrer: '/enterprise-server@3.5/admin/configuration', + expectStatus: 204, + shouldCallNext: false, + }, + ])( + 'should return $expectStatus for $name', + ({ name, path, referrer, expectStatus, shouldCallNext }) => { + test(name, async () => { + const req = mockRequest(path, { + headers: { + Referrer: referrer, + }, + }) + const res = mockResponse() + let nexted = false + const next = () => { + if (!shouldCallNext) { + throw new Error('should not call next() for suppressed assets') + } + nexted = true + } + setDefaultFastlySurrogateKey(req, res, () => {}) + await archivedEnterpriseVersionsAssets(req as any, res as any, next) + expect(res.statusCode).toBe(expectStatus) + if (shouldCallNext) { + expect(nexted).toBe(true) + } + }) + }, + ) + + describe.each([ + { + name: 'Next.js assets from non-enterprise referrer', + path: '/_next/static/chunks/main-abc123.js', + referrer: '/en/actions/using-workflows', + expectStatus: undefined, + shouldCallNext: true, + }, + { + name: 'non-Next.js assets from archived enterprise referrer', + path: '/assets/images/some-image.png', + referrer: '/en/enterprise-server@3.5/some/page', + expectStatus: undefined, + shouldCallNext: true, + }, + ])('should not suppress $name', ({ name, path, referrer, expectStatus, shouldCallNext }) => { + test(name, async () => { + const req = mockRequest(path, { + headers: { + Referrer: referrer, + }, + }) + const res = mockResponse() + let nexted = false + const next = () => { + nexted = true + } + setDefaultFastlySurrogateKey(req, res, () => {}) + await archivedEnterpriseVersionsAssets(req as any, res as any, next) + expect(nexted).toBe(shouldCallNext) + expect(res.statusCode).toBe(expectStatus) + }) + }) })