feat(nx-dev): rename nx-cloud tab to CI (#20476)

This commit is contained in:
Isaac Mann 2023-11-30 08:24:24 -05:00 committed by GitHub
parent d22e860269
commit d1e842f827
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
76 changed files with 598 additions and 597 deletions

View File

@ -592,7 +592,7 @@
}, },
{ {
"name": "Use Remote Caching", "name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache", "path": "/ci/features/remote-cache",
"id": "remote-cache", "id": "remote-cache",
"isExternal": true, "isExternal": true,
"children": [], "children": [],
@ -600,7 +600,7 @@
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution", "path": "/ci/features/distribute-task-execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"isExternal": true, "isExternal": true,
"children": [], "children": [],
@ -684,7 +684,7 @@
}, },
{ {
"name": "Use Remote Caching", "name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache", "path": "/ci/features/remote-cache",
"id": "remote-cache", "id": "remote-cache",
"isExternal": true, "isExternal": true,
"children": [], "children": [],
@ -692,7 +692,7 @@
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution", "path": "/ci/features/distribute-task-execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"isExternal": true, "isExternal": true,
"children": [], "children": [],
@ -5136,9 +5136,9 @@
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Nx Cloud Documentation", "name": "CI Documentation",
"path": "/nx-cloud/intro/ci-with-nx", "path": "/ci/intro/ci-with-nx",
"id": "nx-cloud-documentation", "id": "ci",
"isExternal": true, "isExternal": true,
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
@ -5203,9 +5203,9 @@
"disableCollapsible": false "disableCollapsible": false
}, },
{ {
"name": "Nx Cloud Documentation", "name": "CI Documentation",
"path": "/nx-cloud/intro/ci-with-nx", "path": "/ci/intro/ci-with-nx",
"id": "nx-cloud-documentation", "id": "ci",
"isExternal": true, "isExternal": true,
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
@ -5517,17 +5517,17 @@
] ]
}, },
{ {
"id": "cloud", "id": "ci",
"menu": [ "menu": [
{ {
"name": "Intro", "name": "Intro",
"path": "/nx-cloud/intro", "path": "/ci/intro",
"id": "intro", "id": "intro",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "CI with Nx", "name": "CI with Nx",
"path": "/nx-cloud/intro/ci-with-nx", "path": "/ci/intro/ci-with-nx",
"id": "ci-with-nx", "id": "ci-with-nx",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5535,13 +5535,13 @@
}, },
{ {
"name": "Tutorials", "name": "Tutorials",
"path": "/nx-cloud/intro/tutorials", "path": "/ci/intro/tutorials",
"id": "tutorials", "id": "tutorials",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Circle CI with Nx", "name": "Circle CI with Nx",
"path": "/nx-cloud/intro/tutorials/circle", "path": "/ci/intro/tutorials/circle",
"id": "circle", "id": "circle",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5549,7 +5549,7 @@
}, },
{ {
"name": "GitHub Actions with Nx", "name": "GitHub Actions with Nx",
"path": "/nx-cloud/intro/tutorials/github-actions", "path": "/ci/intro/tutorials/github-actions",
"id": "github-actions", "id": "github-actions",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5563,7 +5563,7 @@
}, },
{ {
"name": "CI with Nx", "name": "CI with Nx",
"path": "/nx-cloud/intro/ci-with-nx", "path": "/ci/intro/ci-with-nx",
"id": "ci-with-nx", "id": "ci-with-nx",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5571,13 +5571,13 @@
}, },
{ {
"name": "Tutorials", "name": "Tutorials",
"path": "/nx-cloud/intro/tutorials", "path": "/ci/intro/tutorials",
"id": "tutorials", "id": "tutorials",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Circle CI with Nx", "name": "Circle CI with Nx",
"path": "/nx-cloud/intro/tutorials/circle", "path": "/ci/intro/tutorials/circle",
"id": "circle", "id": "circle",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5585,7 +5585,7 @@
}, },
{ {
"name": "GitHub Actions with Nx", "name": "GitHub Actions with Nx",
"path": "/nx-cloud/intro/tutorials/github-actions", "path": "/ci/intro/tutorials/github-actions",
"id": "github-actions", "id": "github-actions",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5596,7 +5596,7 @@
}, },
{ {
"name": "Circle CI with Nx", "name": "Circle CI with Nx",
"path": "/nx-cloud/intro/tutorials/circle", "path": "/ci/intro/tutorials/circle",
"id": "circle", "id": "circle",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5604,7 +5604,7 @@
}, },
{ {
"name": "GitHub Actions with Nx", "name": "GitHub Actions with Nx",
"path": "/nx-cloud/intro/tutorials/github-actions", "path": "/ci/intro/tutorials/github-actions",
"id": "github-actions", "id": "github-actions",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5612,13 +5612,13 @@
}, },
{ {
"name": "Features", "name": "Features",
"path": "/nx-cloud/features", "path": "/ci/features",
"id": "features", "id": "features",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Use Remote Caching", "name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache", "path": "/ci/features/remote-cache",
"id": "remote-cache", "id": "remote-cache",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5626,7 +5626,7 @@
}, },
{ {
"name": "Run Only Tasks Affected by a PR", "name": "Run Only Tasks Affected by a PR",
"path": "/nx-cloud/features/affected", "path": "/ci/features/affected",
"id": "affected", "id": "affected",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5634,7 +5634,7 @@
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution", "path": "/ci/features/distribute-task-execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5642,7 +5642,7 @@
}, },
{ {
"name": "Set up Nx Cloud On-Premise", "name": "Set up Nx Cloud On-Premise",
"path": "/nx-cloud/features/on-premise", "path": "/ci/features/on-premise",
"id": "on-premise", "id": "on-premise",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5650,7 +5650,7 @@
}, },
{ {
"name": "Nx Cloud Workflows", "name": "Nx Cloud Workflows",
"path": "/nx-cloud/features/nx-cloud-workflows", "path": "/ci/features/nx-cloud-workflows",
"id": "nx-cloud-workflows", "id": "nx-cloud-workflows",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5661,7 +5661,7 @@
}, },
{ {
"name": "Use Remote Caching", "name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache", "path": "/ci/features/remote-cache",
"id": "remote-cache", "id": "remote-cache",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5669,7 +5669,7 @@
}, },
{ {
"name": "Run Only Tasks Affected by a PR", "name": "Run Only Tasks Affected by a PR",
"path": "/nx-cloud/features/affected", "path": "/ci/features/affected",
"id": "affected", "id": "affected",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5677,7 +5677,7 @@
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution", "path": "/ci/features/distribute-task-execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5685,7 +5685,7 @@
}, },
{ {
"name": "Set up Nx Cloud On-Premise", "name": "Set up Nx Cloud On-Premise",
"path": "/nx-cloud/features/on-premise", "path": "/ci/features/on-premise",
"id": "on-premise", "id": "on-premise",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5693,7 +5693,7 @@
}, },
{ {
"name": "Nx Cloud Workflows", "name": "Nx Cloud Workflows",
"path": "/nx-cloud/features/nx-cloud-workflows", "path": "/ci/features/nx-cloud-workflows",
"id": "nx-cloud-workflows", "id": "nx-cloud-workflows",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5701,13 +5701,13 @@
}, },
{ {
"name": "Concepts", "name": "Concepts",
"path": "/nx-cloud/concepts", "path": "/ci/concepts",
"id": "concepts", "id": "concepts",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Reduce Waste in CI", "name": "Reduce Waste in CI",
"path": "/nx-cloud/concepts/reduce-waste", "path": "/ci/concepts/reduce-waste",
"id": "reduce-waste", "id": "reduce-waste",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5715,7 +5715,7 @@
}, },
{ {
"name": "Improve Worst Case CI Times", "name": "Improve Worst Case CI Times",
"path": "/nx-cloud/concepts/dte", "path": "/ci/concepts/dte",
"id": "dte", "id": "dte",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5723,7 +5723,7 @@
}, },
{ {
"name": "Security Scenarios", "name": "Security Scenarios",
"path": "/nx-cloud/concepts/scenarios", "path": "/ci/concepts/scenarios",
"id": "scenarios", "id": "scenarios",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5731,7 +5731,7 @@
}, },
{ {
"name": "End to End Encryption", "name": "End to End Encryption",
"path": "/nx-cloud/concepts/encryption", "path": "/ci/concepts/encryption",
"id": "encryption", "id": "encryption",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5742,7 +5742,7 @@
}, },
{ {
"name": "Reduce Waste in CI", "name": "Reduce Waste in CI",
"path": "/nx-cloud/concepts/reduce-waste", "path": "/ci/concepts/reduce-waste",
"id": "reduce-waste", "id": "reduce-waste",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5750,7 +5750,7 @@
}, },
{ {
"name": "Improve Worst Case CI Times", "name": "Improve Worst Case CI Times",
"path": "/nx-cloud/concepts/dte", "path": "/ci/concepts/dte",
"id": "dte", "id": "dte",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5758,7 +5758,7 @@
}, },
{ {
"name": "Security Scenarios", "name": "Security Scenarios",
"path": "/nx-cloud/concepts/scenarios", "path": "/ci/concepts/scenarios",
"id": "scenarios", "id": "scenarios",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5766,7 +5766,7 @@
}, },
{ {
"name": "End to End Encryption", "name": "End to End Encryption",
"path": "/nx-cloud/concepts/encryption", "path": "/ci/concepts/encryption",
"id": "encryption", "id": "encryption",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5774,19 +5774,19 @@
}, },
{ {
"name": "Recipes", "name": "Recipes",
"path": "/nx-cloud/recipes", "path": "/ci/recipes",
"id": "recipes", "id": "recipes",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Set Up CI", "name": "Set Up CI",
"path": "/nx-cloud/recipes/set-up", "path": "/ci/recipes/set-up",
"id": "set-up", "id": "set-up",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Setting up Azure Pipelines", "name": "Setting up Azure Pipelines",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-azure", "path": "/ci/recipes/set-up/monorepo-ci-azure",
"id": "monorepo-ci-azure", "id": "monorepo-ci-azure",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5794,7 +5794,7 @@
}, },
{ {
"name": "Setting up CircleCI", "name": "Setting up CircleCI",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-circle-ci", "path": "/ci/recipes/set-up/monorepo-ci-circle-ci",
"id": "monorepo-ci-circle-ci", "id": "monorepo-ci-circle-ci",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5802,7 +5802,7 @@
}, },
{ {
"name": "Setting up GitHub Actions", "name": "Setting up GitHub Actions",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-github-actions", "path": "/ci/recipes/set-up/monorepo-ci-github-actions",
"id": "monorepo-ci-github-actions", "id": "monorepo-ci-github-actions",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5810,7 +5810,7 @@
}, },
{ {
"name": "Setting up Jenkins", "name": "Setting up Jenkins",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-jenkins", "path": "/ci/recipes/set-up/monorepo-ci-jenkins",
"id": "monorepo-ci-jenkins", "id": "monorepo-ci-jenkins",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5818,7 +5818,7 @@
}, },
{ {
"name": "Setting up GitLab", "name": "Setting up GitLab",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-gitlab", "path": "/ci/recipes/set-up/monorepo-ci-gitlab",
"id": "monorepo-ci-gitlab", "id": "monorepo-ci-gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5826,7 +5826,7 @@
}, },
{ {
"name": "Setting up Bitbucket", "name": "Setting up Bitbucket",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-bitbucket-pipelines", "path": "/ci/recipes/set-up/monorepo-ci-bitbucket-pipelines",
"id": "monorepo-ci-bitbucket-pipelines", "id": "monorepo-ci-bitbucket-pipelines",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5837,13 +5837,13 @@
}, },
{ {
"name": "Security", "name": "Security",
"path": "/nx-cloud/recipes/security", "path": "/ci/recipes/security",
"id": "security", "id": "security",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Authenticate with Google Identity", "name": "Authenticate with Google Identity",
"path": "/nx-cloud/recipes/security/google-auth", "path": "/ci/recipes/security/google-auth",
"id": "google-auth", "id": "google-auth",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5851,7 +5851,7 @@
}, },
{ {
"name": "Access Tokens", "name": "Access Tokens",
"path": "/nx-cloud/recipes/security/access-tokens", "path": "/ci/recipes/security/access-tokens",
"id": "access-tokens", "id": "access-tokens",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5862,13 +5862,13 @@
}, },
{ {
"name": "Source Control Integration", "name": "Source Control Integration",
"path": "/nx-cloud/recipes/source-control-integration", "path": "/ci/recipes/source-control-integration",
"id": "source-control-integration", "id": "source-control-integration",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Enable GitHub PR Integration", "name": "Enable GitHub PR Integration",
"path": "/nx-cloud/recipes/source-control-integration/github", "path": "/ci/recipes/source-control-integration/github",
"id": "github", "id": "github",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5876,7 +5876,7 @@
}, },
{ {
"name": "Enable Bitbucket Cloud PR Integration", "name": "Enable Bitbucket Cloud PR Integration",
"path": "/nx-cloud/recipes/source-control-integration/bitbucket-cloud", "path": "/ci/recipes/source-control-integration/bitbucket-cloud",
"id": "bitbucket-cloud", "id": "bitbucket-cloud",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5884,7 +5884,7 @@
}, },
{ {
"name": "Enable GitLab MR Integration", "name": "Enable GitLab MR Integration",
"path": "/nx-cloud/recipes/source-control-integration/gitlab", "path": "/ci/recipes/source-control-integration/gitlab",
"id": "gitlab", "id": "gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5895,13 +5895,13 @@
}, },
{ {
"name": "On-Premise", "name": "On-Premise",
"path": "/nx-cloud/recipes/on-premise", "path": "/ci/recipes/on-premise",
"id": "on-premise", "id": "on-premise",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Authenticate with a Single Admin", "name": "Authenticate with a Single Admin",
"path": "/nx-cloud/recipes/on-premise/auth-single-admin", "path": "/ci/recipes/on-premise/auth-single-admin",
"id": "auth-single-admin", "id": "auth-single-admin",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5909,7 +5909,7 @@
}, },
{ {
"name": "Authenticate with GitHub", "name": "Authenticate with GitHub",
"path": "/nx-cloud/recipes/on-premise/auth-github", "path": "/ci/recipes/on-premise/auth-github",
"id": "auth-github", "id": "auth-github",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5917,7 +5917,7 @@
}, },
{ {
"name": "On-Prem VM Setup", "name": "On-Prem VM Setup",
"path": "/nx-cloud/recipes/on-premise/ami-setup", "path": "/ci/recipes/on-premise/ami-setup",
"id": "ami-setup", "id": "ami-setup",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5925,7 +5925,7 @@
}, },
{ {
"name": "Authenticate with GitLab", "name": "Authenticate with GitLab",
"path": "/nx-cloud/recipes/on-premise/auth-gitlab", "path": "/ci/recipes/on-premise/auth-gitlab",
"id": "auth-gitlab", "id": "auth-gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5933,7 +5933,7 @@
}, },
{ {
"name": "Authenticate with BitBucket", "name": "Authenticate with BitBucket",
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket", "path": "/ci/recipes/on-premise/auth-bitbucket",
"id": "auth-bitbucket", "id": "auth-bitbucket",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5941,7 +5941,7 @@
}, },
{ {
"name": "Authenticate via SAML", "name": "Authenticate via SAML",
"path": "/nx-cloud/recipes/on-premise/auth-saml", "path": "/ci/recipes/on-premise/auth-saml",
"id": "auth-saml", "id": "auth-saml",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5949,7 +5949,7 @@
}, },
{ {
"name": "Authenticate via SAML on Managed Version", "name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed", "path": "/ci/recipes/on-premise/auth-saml-managed",
"id": "auth-saml-managed", "id": "auth-saml-managed",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5957,7 +5957,7 @@
}, },
{ {
"name": "Advanced Configuration", "name": "Advanced Configuration",
"path": "/nx-cloud/recipes/on-premise/advanced-config", "path": "/ci/recipes/on-premise/advanced-config",
"id": "advanced-config", "id": "advanced-config",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5968,13 +5968,13 @@
}, },
{ {
"name": "Other", "name": "Other",
"path": "/nx-cloud/recipes/other", "path": "/ci/recipes/other",
"id": "other", "id": "other",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Record Non-Nx Commands", "name": "Record Non-Nx Commands",
"path": "/nx-cloud/recipes/other/record-commands", "path": "/ci/recipes/other/record-commands",
"id": "record-commands", "id": "record-commands",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5982,7 +5982,7 @@
}, },
{ {
"name": "Prepare applications for deployment via CI", "name": "Prepare applications for deployment via CI",
"path": "/nx-cloud/recipes/other/ci-deployment", "path": "/ci/recipes/other/ci-deployment",
"id": "ci-deployment", "id": "ci-deployment",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -5996,13 +5996,13 @@
}, },
{ {
"name": "Set Up CI", "name": "Set Up CI",
"path": "/nx-cloud/recipes/set-up", "path": "/ci/recipes/set-up",
"id": "set-up", "id": "set-up",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Setting up Azure Pipelines", "name": "Setting up Azure Pipelines",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-azure", "path": "/ci/recipes/set-up/monorepo-ci-azure",
"id": "monorepo-ci-azure", "id": "monorepo-ci-azure",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6010,7 +6010,7 @@
}, },
{ {
"name": "Setting up CircleCI", "name": "Setting up CircleCI",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-circle-ci", "path": "/ci/recipes/set-up/monorepo-ci-circle-ci",
"id": "monorepo-ci-circle-ci", "id": "monorepo-ci-circle-ci",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6018,7 +6018,7 @@
}, },
{ {
"name": "Setting up GitHub Actions", "name": "Setting up GitHub Actions",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-github-actions", "path": "/ci/recipes/set-up/monorepo-ci-github-actions",
"id": "monorepo-ci-github-actions", "id": "monorepo-ci-github-actions",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6026,7 +6026,7 @@
}, },
{ {
"name": "Setting up Jenkins", "name": "Setting up Jenkins",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-jenkins", "path": "/ci/recipes/set-up/monorepo-ci-jenkins",
"id": "monorepo-ci-jenkins", "id": "monorepo-ci-jenkins",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6034,7 +6034,7 @@
}, },
{ {
"name": "Setting up GitLab", "name": "Setting up GitLab",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-gitlab", "path": "/ci/recipes/set-up/monorepo-ci-gitlab",
"id": "monorepo-ci-gitlab", "id": "monorepo-ci-gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6042,7 +6042,7 @@
}, },
{ {
"name": "Setting up Bitbucket", "name": "Setting up Bitbucket",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-bitbucket-pipelines", "path": "/ci/recipes/set-up/monorepo-ci-bitbucket-pipelines",
"id": "monorepo-ci-bitbucket-pipelines", "id": "monorepo-ci-bitbucket-pipelines",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6053,7 +6053,7 @@
}, },
{ {
"name": "Setting up Azure Pipelines", "name": "Setting up Azure Pipelines",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-azure", "path": "/ci/recipes/set-up/monorepo-ci-azure",
"id": "monorepo-ci-azure", "id": "monorepo-ci-azure",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6061,7 +6061,7 @@
}, },
{ {
"name": "Setting up CircleCI", "name": "Setting up CircleCI",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-circle-ci", "path": "/ci/recipes/set-up/monorepo-ci-circle-ci",
"id": "monorepo-ci-circle-ci", "id": "monorepo-ci-circle-ci",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6069,7 +6069,7 @@
}, },
{ {
"name": "Setting up GitHub Actions", "name": "Setting up GitHub Actions",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-github-actions", "path": "/ci/recipes/set-up/monorepo-ci-github-actions",
"id": "monorepo-ci-github-actions", "id": "monorepo-ci-github-actions",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6077,7 +6077,7 @@
}, },
{ {
"name": "Setting up Jenkins", "name": "Setting up Jenkins",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-jenkins", "path": "/ci/recipes/set-up/monorepo-ci-jenkins",
"id": "monorepo-ci-jenkins", "id": "monorepo-ci-jenkins",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6085,7 +6085,7 @@
}, },
{ {
"name": "Setting up GitLab", "name": "Setting up GitLab",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-gitlab", "path": "/ci/recipes/set-up/monorepo-ci-gitlab",
"id": "monorepo-ci-gitlab", "id": "monorepo-ci-gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6093,7 +6093,7 @@
}, },
{ {
"name": "Setting up Bitbucket", "name": "Setting up Bitbucket",
"path": "/nx-cloud/recipes/set-up/monorepo-ci-bitbucket-pipelines", "path": "/ci/recipes/set-up/monorepo-ci-bitbucket-pipelines",
"id": "monorepo-ci-bitbucket-pipelines", "id": "monorepo-ci-bitbucket-pipelines",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6101,13 +6101,13 @@
}, },
{ {
"name": "Security", "name": "Security",
"path": "/nx-cloud/recipes/security", "path": "/ci/recipes/security",
"id": "security", "id": "security",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Authenticate with Google Identity", "name": "Authenticate with Google Identity",
"path": "/nx-cloud/recipes/security/google-auth", "path": "/ci/recipes/security/google-auth",
"id": "google-auth", "id": "google-auth",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6115,7 +6115,7 @@
}, },
{ {
"name": "Access Tokens", "name": "Access Tokens",
"path": "/nx-cloud/recipes/security/access-tokens", "path": "/ci/recipes/security/access-tokens",
"id": "access-tokens", "id": "access-tokens",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6126,7 +6126,7 @@
}, },
{ {
"name": "Authenticate with Google Identity", "name": "Authenticate with Google Identity",
"path": "/nx-cloud/recipes/security/google-auth", "path": "/ci/recipes/security/google-auth",
"id": "google-auth", "id": "google-auth",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6134,7 +6134,7 @@
}, },
{ {
"name": "Access Tokens", "name": "Access Tokens",
"path": "/nx-cloud/recipes/security/access-tokens", "path": "/ci/recipes/security/access-tokens",
"id": "access-tokens", "id": "access-tokens",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6142,13 +6142,13 @@
}, },
{ {
"name": "Source Control Integration", "name": "Source Control Integration",
"path": "/nx-cloud/recipes/source-control-integration", "path": "/ci/recipes/source-control-integration",
"id": "source-control-integration", "id": "source-control-integration",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Enable GitHub PR Integration", "name": "Enable GitHub PR Integration",
"path": "/nx-cloud/recipes/source-control-integration/github", "path": "/ci/recipes/source-control-integration/github",
"id": "github", "id": "github",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6156,7 +6156,7 @@
}, },
{ {
"name": "Enable Bitbucket Cloud PR Integration", "name": "Enable Bitbucket Cloud PR Integration",
"path": "/nx-cloud/recipes/source-control-integration/bitbucket-cloud", "path": "/ci/recipes/source-control-integration/bitbucket-cloud",
"id": "bitbucket-cloud", "id": "bitbucket-cloud",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6164,7 +6164,7 @@
}, },
{ {
"name": "Enable GitLab MR Integration", "name": "Enable GitLab MR Integration",
"path": "/nx-cloud/recipes/source-control-integration/gitlab", "path": "/ci/recipes/source-control-integration/gitlab",
"id": "gitlab", "id": "gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6175,7 +6175,7 @@
}, },
{ {
"name": "Enable GitHub PR Integration", "name": "Enable GitHub PR Integration",
"path": "/nx-cloud/recipes/source-control-integration/github", "path": "/ci/recipes/source-control-integration/github",
"id": "github", "id": "github",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6183,7 +6183,7 @@
}, },
{ {
"name": "Enable Bitbucket Cloud PR Integration", "name": "Enable Bitbucket Cloud PR Integration",
"path": "/nx-cloud/recipes/source-control-integration/bitbucket-cloud", "path": "/ci/recipes/source-control-integration/bitbucket-cloud",
"id": "bitbucket-cloud", "id": "bitbucket-cloud",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6191,7 +6191,7 @@
}, },
{ {
"name": "Enable GitLab MR Integration", "name": "Enable GitLab MR Integration",
"path": "/nx-cloud/recipes/source-control-integration/gitlab", "path": "/ci/recipes/source-control-integration/gitlab",
"id": "gitlab", "id": "gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6199,13 +6199,13 @@
}, },
{ {
"name": "On-Premise", "name": "On-Premise",
"path": "/nx-cloud/recipes/on-premise", "path": "/ci/recipes/on-premise",
"id": "on-premise", "id": "on-premise",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Authenticate with a Single Admin", "name": "Authenticate with a Single Admin",
"path": "/nx-cloud/recipes/on-premise/auth-single-admin", "path": "/ci/recipes/on-premise/auth-single-admin",
"id": "auth-single-admin", "id": "auth-single-admin",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6213,7 +6213,7 @@
}, },
{ {
"name": "Authenticate with GitHub", "name": "Authenticate with GitHub",
"path": "/nx-cloud/recipes/on-premise/auth-github", "path": "/ci/recipes/on-premise/auth-github",
"id": "auth-github", "id": "auth-github",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6221,7 +6221,7 @@
}, },
{ {
"name": "On-Prem VM Setup", "name": "On-Prem VM Setup",
"path": "/nx-cloud/recipes/on-premise/ami-setup", "path": "/ci/recipes/on-premise/ami-setup",
"id": "ami-setup", "id": "ami-setup",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6229,7 +6229,7 @@
}, },
{ {
"name": "Authenticate with GitLab", "name": "Authenticate with GitLab",
"path": "/nx-cloud/recipes/on-premise/auth-gitlab", "path": "/ci/recipes/on-premise/auth-gitlab",
"id": "auth-gitlab", "id": "auth-gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6237,7 +6237,7 @@
}, },
{ {
"name": "Authenticate with BitBucket", "name": "Authenticate with BitBucket",
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket", "path": "/ci/recipes/on-premise/auth-bitbucket",
"id": "auth-bitbucket", "id": "auth-bitbucket",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6245,7 +6245,7 @@
}, },
{ {
"name": "Authenticate via SAML", "name": "Authenticate via SAML",
"path": "/nx-cloud/recipes/on-premise/auth-saml", "path": "/ci/recipes/on-premise/auth-saml",
"id": "auth-saml", "id": "auth-saml",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6253,7 +6253,7 @@
}, },
{ {
"name": "Authenticate via SAML on Managed Version", "name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed", "path": "/ci/recipes/on-premise/auth-saml-managed",
"id": "auth-saml-managed", "id": "auth-saml-managed",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6261,7 +6261,7 @@
}, },
{ {
"name": "Advanced Configuration", "name": "Advanced Configuration",
"path": "/nx-cloud/recipes/on-premise/advanced-config", "path": "/ci/recipes/on-premise/advanced-config",
"id": "advanced-config", "id": "advanced-config",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6272,7 +6272,7 @@
}, },
{ {
"name": "Authenticate with a Single Admin", "name": "Authenticate with a Single Admin",
"path": "/nx-cloud/recipes/on-premise/auth-single-admin", "path": "/ci/recipes/on-premise/auth-single-admin",
"id": "auth-single-admin", "id": "auth-single-admin",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6280,7 +6280,7 @@
}, },
{ {
"name": "Authenticate with GitHub", "name": "Authenticate with GitHub",
"path": "/nx-cloud/recipes/on-premise/auth-github", "path": "/ci/recipes/on-premise/auth-github",
"id": "auth-github", "id": "auth-github",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6288,7 +6288,7 @@
}, },
{ {
"name": "On-Prem VM Setup", "name": "On-Prem VM Setup",
"path": "/nx-cloud/recipes/on-premise/ami-setup", "path": "/ci/recipes/on-premise/ami-setup",
"id": "ami-setup", "id": "ami-setup",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6296,7 +6296,7 @@
}, },
{ {
"name": "Authenticate with GitLab", "name": "Authenticate with GitLab",
"path": "/nx-cloud/recipes/on-premise/auth-gitlab", "path": "/ci/recipes/on-premise/auth-gitlab",
"id": "auth-gitlab", "id": "auth-gitlab",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6304,7 +6304,7 @@
}, },
{ {
"name": "Authenticate with BitBucket", "name": "Authenticate with BitBucket",
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket", "path": "/ci/recipes/on-premise/auth-bitbucket",
"id": "auth-bitbucket", "id": "auth-bitbucket",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6312,7 +6312,7 @@
}, },
{ {
"name": "Authenticate via SAML", "name": "Authenticate via SAML",
"path": "/nx-cloud/recipes/on-premise/auth-saml", "path": "/ci/recipes/on-premise/auth-saml",
"id": "auth-saml", "id": "auth-saml",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6320,7 +6320,7 @@
}, },
{ {
"name": "Authenticate via SAML on Managed Version", "name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed", "path": "/ci/recipes/on-premise/auth-saml-managed",
"id": "auth-saml-managed", "id": "auth-saml-managed",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6328,7 +6328,7 @@
}, },
{ {
"name": "Advanced Configuration", "name": "Advanced Configuration",
"path": "/nx-cloud/recipes/on-premise/advanced-config", "path": "/ci/recipes/on-premise/advanced-config",
"id": "advanced-config", "id": "advanced-config",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6336,13 +6336,13 @@
}, },
{ {
"name": "Other", "name": "Other",
"path": "/nx-cloud/recipes/other", "path": "/ci/recipes/other",
"id": "other", "id": "other",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Record Non-Nx Commands", "name": "Record Non-Nx Commands",
"path": "/nx-cloud/recipes/other/record-commands", "path": "/ci/recipes/other/record-commands",
"id": "record-commands", "id": "record-commands",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6350,7 +6350,7 @@
}, },
{ {
"name": "Prepare applications for deployment via CI", "name": "Prepare applications for deployment via CI",
"path": "/nx-cloud/recipes/other/ci-deployment", "path": "/ci/recipes/other/ci-deployment",
"id": "ci-deployment", "id": "ci-deployment",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6361,7 +6361,7 @@
}, },
{ {
"name": "Record Non-Nx Commands", "name": "Record Non-Nx Commands",
"path": "/nx-cloud/recipes/other/record-commands", "path": "/ci/recipes/other/record-commands",
"id": "record-commands", "id": "record-commands",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6369,7 +6369,7 @@
}, },
{ {
"name": "Prepare applications for deployment via CI", "name": "Prepare applications for deployment via CI",
"path": "/nx-cloud/recipes/other/ci-deployment", "path": "/ci/recipes/other/ci-deployment",
"id": "ci-deployment", "id": "ci-deployment",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6377,13 +6377,13 @@
}, },
{ {
"name": "Reference", "name": "Reference",
"path": "/nx-cloud/reference", "path": "/ci/reference",
"id": "reference", "id": "reference",
"isExternal": false, "isExternal": false,
"children": [ "children": [
{ {
"name": "Configuration Options", "name": "Configuration Options",
"path": "/nx-cloud/reference/config", "path": "/ci/reference/config",
"id": "config", "id": "config",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6391,7 +6391,7 @@
}, },
{ {
"name": "nx-cloud CLI", "name": "nx-cloud CLI",
"path": "/nx-cloud/reference/nx-cloud-cli", "path": "/ci/reference/nx-cloud-cli",
"id": "nx-cloud-cli", "id": "nx-cloud-cli",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6399,7 +6399,7 @@
}, },
{ {
"name": "Environment Variables", "name": "Environment Variables",
"path": "/nx-cloud/reference/env-vars", "path": "/ci/reference/env-vars",
"id": "env-vars", "id": "env-vars",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6407,7 +6407,7 @@
}, },
{ {
"name": "Server API Reference", "name": "Server API Reference",
"path": "/nx-cloud/reference/server-api", "path": "/ci/reference/server-api",
"id": "server-api", "id": "server-api",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6415,7 +6415,7 @@
}, },
{ {
"name": "Release Notes", "name": "Release Notes",
"path": "/nx-cloud/reference/release-notes", "path": "/ci/reference/release-notes",
"id": "release-notes", "id": "release-notes",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6426,7 +6426,7 @@
}, },
{ {
"name": "Configuration Options", "name": "Configuration Options",
"path": "/nx-cloud/reference/config", "path": "/ci/reference/config",
"id": "config", "id": "config",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6434,7 +6434,7 @@
}, },
{ {
"name": "nx-cloud CLI", "name": "nx-cloud CLI",
"path": "/nx-cloud/reference/nx-cloud-cli", "path": "/ci/reference/nx-cloud-cli",
"id": "nx-cloud-cli", "id": "nx-cloud-cli",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6442,7 +6442,7 @@
}, },
{ {
"name": "Environment Variables", "name": "Environment Variables",
"path": "/nx-cloud/reference/env-vars", "path": "/ci/reference/env-vars",
"id": "env-vars", "id": "env-vars",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6450,7 +6450,7 @@
}, },
{ {
"name": "Server API Reference", "name": "Server API Reference",
"path": "/nx-cloud/reference/server-api", "path": "/ci/reference/server-api",
"id": "server-api", "id": "server-api",
"isExternal": false, "isExternal": false,
"children": [], "children": [],
@ -6458,7 +6458,7 @@
}, },
{ {
"name": "Release Notes", "name": "Release Notes",
"path": "/nx-cloud/reference/release-notes", "path": "/ci/reference/release-notes",
"id": "release-notes", "id": "release-notes",
"isExternal": false, "isExternal": false,
"children": [], "children": [],

View File

@ -738,7 +738,7 @@
"file": "", "file": "",
"itemList": [], "itemList": [],
"isExternal": true, "isExternal": true,
"path": "/nx-cloud/features/remote-cache", "path": "/ci/features/remote-cache",
"tags": [] "tags": []
}, },
{ {
@ -748,7 +748,7 @@
"file": "", "file": "",
"itemList": [], "itemList": [],
"isExternal": true, "isExternal": true,
"path": "/nx-cloud/features/distribute-task-execution", "path": "/ci/features/distribute-task-execution",
"tags": [] "tags": []
}, },
{ {
@ -847,24 +847,24 @@
"path": "/core-features/cache-task-results", "path": "/core-features/cache-task-results",
"tags": ["cache-task-results"] "tags": ["cache-task-results"]
}, },
"/nx-cloud/features/remote-cache": { "/ci/features/remote-cache": {
"id": "remote-cache", "id": "remote-cache",
"name": "Use Remote Caching", "name": "Use Remote Caching",
"description": "", "description": "",
"file": "", "file": "",
"itemList": [], "itemList": [],
"isExternal": true, "isExternal": true,
"path": "/nx-cloud/features/remote-cache", "path": "/ci/features/remote-cache",
"tags": [] "tags": []
}, },
"/nx-cloud/features/distribute-task-execution": { "/ci/features/distribute-task-execution": {
"id": "distribute-task-execution", "id": "distribute-task-execution",
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"description": "", "description": "",
"file": "", "file": "",
"itemList": [], "itemList": [],
"isExternal": true, "isExternal": true,
"path": "/nx-cloud/features/distribute-task-execution", "path": "/ci/features/distribute-task-execution",
"tags": [] "tags": []
}, },
"/core-features/explore-graph": { "/core-features/explore-graph": {
@ -6404,13 +6404,13 @@
"file": "", "file": "",
"itemList": [ "itemList": [
{ {
"id": "nx-cloud-documentation", "id": "ci",
"name": "Nx Cloud Documentation", "name": "CI Documentation",
"description": "", "description": "",
"file": "", "file": "",
"itemList": [], "itemList": [],
"isExternal": true, "isExternal": true,
"path": "/nx-cloud/intro/ci-with-nx", "path": "/ci/intro/ci-with-nx",
"tags": ["cache-task-results", "distribute-task-execution"] "tags": ["cache-task-results", "distribute-task-execution"]
}, },
{ {
@ -6488,14 +6488,14 @@
"path": "/see-also", "path": "/see-also",
"tags": [] "tags": []
}, },
"/nx-cloud/intro/ci-with-nx": { "/ci/intro/ci-with-nx": {
"id": "nx-cloud-documentation", "id": "ci",
"name": "Nx Cloud Documentation", "name": "CI Documentation",
"description": "", "description": "",
"file": "", "file": "",
"itemList": [], "itemList": [],
"isExternal": true, "isExternal": true,
"path": "/nx-cloud/intro/ci-with-nx", "path": "/ci/intro/ci-with-nx",
"tags": ["cache-task-results", "distribute-task-execution"] "tags": ["cache-task-results", "distribute-task-execution"]
}, },
"/nx-api/nx/documents/affected#skip-nx-cache": { "/nx-api/nx/documents/affected#skip-nx-cache": {

View File

@ -61,7 +61,7 @@
"file": "shared/using-nx/affected", "file": "shared/using-nx/affected",
"id": "affected", "id": "affected",
"name": "Run Only Tasks Affected by a PR", "name": "Run Only Tasks Affected by a PR",
"path": "/nx-cloud/features/affected" "path": "/ci/features/affected"
}, },
{ {
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
@ -124,9 +124,9 @@
{ {
"description": "", "description": "",
"file": "", "file": "",
"id": "nx-cloud-documentation", "id": "ci",
"name": "Nx Cloud Documentation", "name": "CI Documentation",
"path": "/nx-cloud/intro/ci-with-nx" "path": "/ci/intro/ci-with-nx"
}, },
{ {
"description": "", "description": "",
@ -715,30 +715,30 @@
{ {
"description": "", "description": "",
"file": "", "file": "",
"id": "nx-cloud-documentation", "id": "ci",
"name": "Nx Cloud Documentation", "name": "CI Documentation",
"path": "/nx-cloud/intro/ci-with-nx" "path": "/ci/intro/ci-with-nx"
}, },
{ {
"description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Cloud has a built-in DTE mechanism which makes this a trivial task.", "description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Cloud has a built-in DTE mechanism which makes this a trivial task.",
"file": "shared/core-features/distribute-task-execution", "file": "shared/core-features/distribute-task-execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution" "path": "/ci/features/distribute-task-execution"
}, },
{ {
"description": "", "description": "",
"file": "shared/concepts/improve-worst-case-ci-times", "file": "shared/concepts/improve-worst-case-ci-times",
"id": "dte", "id": "dte",
"name": "Improve Worst Case CI Times", "name": "Improve Worst Case CI Times",
"path": "/nx-cloud/concepts/dte" "path": "/ci/concepts/dte"
}, },
{ {
"description": "Learn how to set up Nx Cloud for your workspace.", "description": "Learn how to set up Nx Cloud for your workspace.",
"file": "", "file": "",
"id": "set-up", "id": "set-up",
"name": "Set Up CI", "name": "Set Up CI",
"path": "/nx-cloud/recipes/set-up" "path": "/ci/recipes/set-up"
}, },
{ {
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
@ -1153,7 +1153,7 @@
"file": "shared/core-features/remote-cache", "file": "shared/core-features/remote-cache",
"id": "remote-cache", "id": "remote-cache",
"name": "Use Remote Caching", "name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache" "path": "/ci/features/remote-cache"
} }
], ],
"on-premise": [ "on-premise": [
@ -1162,7 +1162,7 @@
"file": "nx-cloud/private/get-started", "file": "nx-cloud/private/get-started",
"id": "on-premise", "id": "on-premise",
"name": "Set up Nx Cloud On-Premise", "name": "Set up Nx Cloud On-Premise",
"path": "/nx-cloud/features/on-premise" "path": "/ci/features/on-premise"
} }
], ],
"docker": [ "docker": [
@ -1171,7 +1171,7 @@
"file": "shared/recipes/ci-deployment", "file": "shared/recipes/ci-deployment",
"id": "ci-deployment", "id": "ci-deployment",
"name": "Prepare applications for deployment via CI", "name": "Prepare applications for deployment via CI",
"path": "/nx-cloud/recipes/other/ci-deployment" "path": "/ci/recipes/other/ci-deployment"
} }
], ],
"deploy": [ "deploy": [
@ -1180,7 +1180,7 @@
"file": "shared/recipes/ci-deployment", "file": "shared/recipes/ci-deployment",
"id": "ci-deployment", "id": "ci-deployment",
"name": "Prepare applications for deployment via CI", "name": "Prepare applications for deployment via CI",
"path": "/nx-cloud/recipes/other/ci-deployment" "path": "/ci/recipes/other/ci-deployment"
} }
] ]
} }

View File

@ -198,7 +198,7 @@
} }
}, },
"required": ["jestConfig"], "required": ["jestConfig"],
"examplesFile": "Jest can be configured in many ways, but primarily you'll need to at least have the jestConfig options\n\n```json\n\"test\": {\n \"executor\": \"@nx/jest:jest\",\n \"options\": {\n \"jestConfig\": \"libs/my-lib/jest.config.ts\"\n }\n}\n```\n\nIt is also helpful to have `passWithNoTests: true` set so your project doesn't fail testing while tests are still being added.\n\n```json\n\"test\": {\n \"executor\": \"@nx/jest:jest\",\n \"options\": {\n \"jestConfig\": \"libs/my-lib/jest.config.ts\",\n \"passWithNoTests\": true\n }\n}\n```\n\n### Snapshots\n\nUpdate snapshots running with `--update-snapshot` or `-u` for short.\n\n```bash\nnx test my-project -u\n```\n\nOther times you might not want to allow updating snapshots such as in CI.\nAdding a _ci_ configuration is helpful for adding this behavior.\n\n```json\n\"test\": {\n \"executor\": \"@nx/jest:jest\",\n \"options\": {\n \"jestConfig\": \"libs/my-lib/jest.config.ts\",\n \"passWithNoTests\": true\n },\n \"configurations\": {\n \"ci\": {\n \"ci\": true\n }\n }\n}\n```\n\n```bash\nnx affected --target=test --configuration=ci\n```\n\nLearn more [about _affected_](/nx-cloud/features/affected)\n" "examplesFile": "Jest can be configured in many ways, but primarily you'll need to at least have the jestConfig options\n\n```json\n\"test\": {\n \"executor\": \"@nx/jest:jest\",\n \"options\": {\n \"jestConfig\": \"libs/my-lib/jest.config.ts\"\n }\n}\n```\n\nIt is also helpful to have `passWithNoTests: true` set so your project doesn't fail testing while tests are still being added.\n\n```json\n\"test\": {\n \"executor\": \"@nx/jest:jest\",\n \"options\": {\n \"jestConfig\": \"libs/my-lib/jest.config.ts\",\n \"passWithNoTests\": true\n }\n}\n```\n\n### Snapshots\n\nUpdate snapshots running with `--update-snapshot` or `-u` for short.\n\n```bash\nnx test my-project -u\n```\n\nOther times you might not want to allow updating snapshots such as in CI.\nAdding a _ci_ configuration is helpful for adding this behavior.\n\n```json\n\"test\": {\n \"executor\": \"@nx/jest:jest\",\n \"options\": {\n \"jestConfig\": \"libs/my-lib/jest.config.ts\",\n \"passWithNoTests\": true\n },\n \"configurations\": {\n \"ci\": {\n \"ci\": true\n }\n }\n}\n```\n\n```bash\nnx affected --target=test --configuration=ci\n```\n\nLearn more [about _affected_](/ci/features/affected)\n"
}, },
"description": "Run Jest unit tests.", "description": "Run Jest unit tests.",
"aliases": [], "aliases": [],

View File

@ -206,14 +206,14 @@
"name": "Use Remote Caching", "name": "Use Remote Caching",
"id": "remote-cache", "id": "remote-cache",
"file": "", "file": "",
"path": "/nx-cloud/features/remote-cache", "path": "/ci/features/remote-cache",
"isExternal": true "isExternal": true
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"file": "", "file": "",
"path": "/nx-cloud/features/distribute-task-execution", "path": "/ci/features/distribute-task-execution",
"isExternal": true "isExternal": true
}, },
{ {
@ -1448,11 +1448,11 @@
"description": "Links to other pieces of documentation", "description": "Links to other pieces of documentation",
"itemList": [ "itemList": [
{ {
"name": "Nx Cloud Documentation", "name": "CI Documentation",
"id": "nx-cloud-documentation", "id": "ci",
"file": "", "file": "",
"tags": ["cache-task-results", "distribute-task-execution"], "tags": ["cache-task-results", "distribute-task-execution"],
"path": "/nx-cloud/intro/ci-with-nx", "path": "/ci/intro/ci-with-nx",
"isExternal": true "isExternal": true
}, },
{ {
@ -1624,8 +1624,8 @@
] ]
}, },
{ {
"name": "Nx Cloud", "name": "CI",
"id": "nx-cloud-documentation", "id": "ci",
"description": "Learn how to enable Distributed Tasks Executions, remote caching and more.", "description": "Learn how to enable Distributed Tasks Executions, remote caching and more.",
"itemList": [ "itemList": [
{ {

View File

@ -2,7 +2,7 @@
This article explores two ways that Nx improves the average speed of your CI pipeline - `nx affected` and remote caching. Using the `nx affected` command speeds up the first CI run for a PR and remote caching speeds up every CI run after that. Both `nx affected` and remote caching provide more benefits to repositories with more projects and a flatter project structure. This article explores two ways that Nx improves the average speed of your CI pipeline - `nx affected` and remote caching. Using the `nx affected` command speeds up the first CI run for a PR and remote caching speeds up every CI run after that. Both `nx affected` and remote caching provide more benefits to repositories with more projects and a flatter project structure.
For this discussion, we'll assume you understand the Nx [mental model](/concepts/mental-model) and have an understanding of both [what the affected command is](/nx-cloud/features/affected) and [how caching works](/concepts/how-caching-works). For this discussion, we'll assume you understand the Nx [mental model](/concepts/mental-model) and have an understanding of both [what the affected command is](/ci/features/affected) and [how caching works](/concepts/how-caching-works).
## Reduce Waste With Affected ## Reduce Waste With Affected

View File

@ -4,9 +4,9 @@ When implemented well, continuous integration (CI) allows a team of developers t
## Core Features ## Core Features
- Test only the code that might have been [affected](/nx-cloud/features/affected) by a PR - Test only the code that might have been [affected](/ci/features/affected) by a PR
- Improve the average CI time with [remote caching](/nx-cloud/features/remote-cache) - Improve the average CI time with [remote caching](/ci/features/remote-cache)
- Improve the worst case CI time with [distributed task execution](/nx-cloud/features/distribute-task-execution) - Improve the worst case CI time with [distributed task execution](/ci/features/distribute-task-execution)
- Quickly troubleshoot errors that occur in CI - Quickly troubleshoot errors that occur in CI
- Create a simple but powerful pipeline configuration that easily scales with your codebase - Create a simple but powerful pipeline configuration that easily scales with your codebase
@ -49,12 +49,12 @@ npx nx g ci-workflow
{% cards cols="3" lgCols="8" mdCols="6" smCols="5" %} {% cards cols="3" lgCols="8" mdCols="6" smCols="5" %}
{% link-card title="GitHub Actions" url="/nx-cloud/recipes/set-up/monorepo-ci-github-actions" icon="github" appearance="small" /%} {% link-card title="GitHub Actions" url="/ci/recipes/set-up/monorepo-ci-github-actions" icon="github" appearance="small" /%}
{% link-card title="Circle CI" url="/nx-cloud/recipes/set-up/monorepo-ci-circle-ci" icon="circleci" appearance="small" /%} {% link-card title="Circle CI" url="/ci/recipes/set-up/monorepo-ci-circle-ci" icon="circleci" appearance="small" /%}
{% link-card title="GitLab" url="/nx-cloud/recipes/set-up/monorepo-ci-gitlab" icon="gitlab" appearance="small" /%} {% link-card title="GitLab" url="/ci/recipes/set-up/monorepo-ci-gitlab" icon="gitlab" appearance="small" /%}
{% link-card title="Azure Pipelines" url="/nx-cloud/recipes/set-up/monorepo-ci-azure" icon="azure" appearance="small" /%} {% link-card title="Azure Pipelines" url="/ci/recipes/set-up/monorepo-ci-azure" icon="azure" appearance="small" /%}
{% link-card title="Bitbucket Pipelines" url="/nx-cloud/recipes/set-up/monorepo-ci-bitbucket-pipelines" icon="bitbucket" appearance="small" /%} {% link-card title="Bitbucket Pipelines" url="/ci/recipes/set-up/monorepo-ci-bitbucket-pipelines" icon="bitbucket" appearance="small" /%}
{% link-card title="Jenkins" url="/nx-cloud/recipes/set-up/monorepo-ci-jenkins" icon="jenkins" appearance="small" /%} {% link-card title="Jenkins" url="/ci/recipes/set-up/monorepo-ci-jenkins" icon="jenkins" appearance="small" /%}
{% /cards %} {% /cards %}

View File

@ -94,7 +94,7 @@ You can optionally enable authentication using your preferred SSO provider:
```yaml ```yaml
# This is all you need to get the baseline of your nx-cloud instance configured! # This is all you need to get the baseline of your nx-cloud instance configured!
# only use this if you'd like to use any of the newer NxCloud version from here: https://nx.dev/nx-cloud/reference/release-notes#docker-containers # only use this if you'd like to use any of the newer NxCloud version from here: https://nx.dev/ci/reference/release-notes#docker-containers
# global.imageTag: '' # global.imageTag: ''
# Set the external URL your instance is running on # Set the external URL your instance is running on
@ -126,26 +126,26 @@ nxCloudAppURL: 'https://nx-cloud.on.my-domain.ca' # make sure no backslash is at
# the filesystem # the filesystem
secret: secret:
# set your initial admin password for logging into the app # set your initial admin password for logging into the app
# see here: https://nx.dev/nx-cloud/recipes/on-premise/auth-single-admin # see here: https://nx.dev/ci/recipes/on-premise/auth-single-admin
adminPassword: 'correcthorsebatterystaple' adminPassword: 'correcthorsebatterystaple'
# If you want to enable GitHub Login, just provide your client id & secret, we handle the rest # If you want to enable GitHub Login, just provide your client id & secret, we handle the rest
# see here: https://nx.dev/nx-cloud/recipes/on-premise/auth-github # see here: https://nx.dev/ci/recipes/on-premise/auth-github
githubAuthClientId: 'my_client_id' githubAuthClientId: 'my_client_id'
githubAuthClientSecret: 'my_client_secret' githubAuthClientSecret: 'my_client_secret'
# The same goes for GitLab authentication # The same goes for GitLab authentication
# see here: https://nx.dev/nx-cloud/recipes/on-premise/auth-gitlab # see here: https://nx.dev/ci/recipes/on-premise/auth-gitlab
# gitlabAppId: 'my_gitlab_app_id' # gitlabAppId: 'my_gitlab_app_id'
# gitlabAppSecret: 'my_gitlab_app_secret' # gitlabAppSecret: 'my_gitlab_app_secret'
# Bitbucket too! If these are uncommented, BB auth is automatically enabled # Bitbucket too! If these are uncommented, BB auth is automatically enabled
# see here: https://nx.dev/nx-cloud/recipes/on-premise/auth-bitbucket # see here: https://nx.dev/ci/recipes/on-premise/auth-bitbucket
# bitbucketAppId: 'bitbucket_app_id' # bitbucketAppId: 'bitbucket_app_id'
# bitbucketAppSecret: 'bitbucket_app_secret' # bitbucketAppSecret: 'bitbucket_app_secret'
# SAML auth # SAML auth
# see here: https://nx.dev/nx-cloud/recipes/on-premise/auth-saml # see here: https://nx.dev/ci/recipes/on-premise/auth-saml
# samlEntryPoint: 'your_saml_entry_point' # samlEntryPoint: 'your_saml_entry_point'
# samlCert: 'saml_cert' # samlCert: 'saml_cert'
``` ```
@ -155,7 +155,7 @@ secret:
We send out emails with every new NxCloud release to all our Enterprise customers: We send out emails with every new NxCloud release to all our Enterprise customers:
1. You can view your current version at the `/version` route: https://your-nx-cloud-url.com/version 1. You can view your current version at the `/version` route: https://your-nx-cloud-url.com/version
2. [And these are the latest NxCloud releases](https://nx.dev/nx-cloud/reference/release-notes#docker-containers) 2. [And these are the latest NxCloud releases](https://nx.dev/ci/reference/release-notes#docker-containers)
To upgrade to a newer version, add the below line to your `myconfiguration.yml` file: To upgrade to a newer version, add the below line to your `myconfiguration.yml` file:

View File

@ -85,5 +85,5 @@ This will point all auth endpoints to your GitHub server (rather the public one)
{% callout type="check" title="Good to know!" %} {% callout type="check" title="Good to know!" %}
The above environment variable, also helps with setting up the GitHub app integration, so you can have Nx Cloud build The above environment variable, also helps with setting up the GitHub app integration, so you can have Nx Cloud build
stats directly on your pull request. See full set up instructions [here](/nx-cloud/recipes/source-control-integration/github). stats directly on your pull request. See full set up instructions [here](/ci/recipes/source-control-integration/github).
{% /callout %} {% /callout %}

View File

@ -33,10 +33,10 @@ than 1 admin to your workspace, to reduce the chance of losing access to it.
For instructions on how to set up third-party auth providers, please refer to these guides: For instructions on how to set up third-party auth providers, please refer to these guides:
- [GitHub Auth](/nx-cloud/recipes/on-premise/auth-github) - [GitHub Auth](/ci/recipes/on-premise/auth-github)
- [GitLab Auth](/nx-cloud/recipes/on-premise/auth-gitlab) - [GitLab Auth](/ci/recipes/on-premise/auth-gitlab)
- [BitBucket Auth](/nx-cloud/recipes/on-premise/auth-bitbucket) - [BitBucket Auth](/ci/recipes/on-premise/auth-bitbucket)
- [SAML Auth](/nx-cloud/recipes/on-premise/auth-saml) - [SAML Auth](/ci/recipes/on-premise/auth-saml)
## Inviting users ## Inviting users

View File

@ -47,7 +47,7 @@ Once you let us know you'd like this option, depending on the agreed requirement
If you would like to host NxCloud yourself, within your organization's infrastructure, the easiest way to set it up is as a self-contained VM. If you would like to host NxCloud yourself, within your organization's infrastructure, the easiest way to set it up is as a self-contained VM.
Refer to our ["Self-contained VM" guide](/nx-cloud/recipes/on-premise/ami-setup) for instructions on running NxCloud on Amazon EC2. Refer to our ["Self-contained VM" guide](/ci/recipes/on-premise/ami-setup) for instructions on running NxCloud on Amazon EC2.
#### Multi-node setup with Kubernetes #### Multi-node setup with Kubernetes
@ -57,11 +57,11 @@ We do offer, however, a multi-node Kubernetes setup, that is deployed via Helm.
## Resources ## Resources
- [GitHub PR Integration](/nx-cloud/recipes/source-control-integration/github) - [GitHub PR Integration](/ci/recipes/source-control-integration/github)
- [Auth (Basic)](/nx-cloud/recipes/on-premise/auth-single-admin) - [Auth (Basic)](/ci/recipes/on-premise/auth-single-admin)
- [GitHub Auth](/nx-cloud/recipes/on-premise/auth-github) - [GitHub Auth](/ci/recipes/on-premise/auth-github)
- [GitLab Auth](/nx-cloud/recipes/on-premise/auth-gitlab) - [GitLab Auth](/ci/recipes/on-premise/auth-gitlab)
- [BitBucket Auth](/nx-cloud/recipes/on-premise/auth-bitbucket) - [BitBucket Auth](/ci/recipes/on-premise/auth-bitbucket)
- [SAML Auth](/nx-cloud/recipes/on-premise/auth-saml) - [SAML Auth](/ci/recipes/on-premise/auth-saml)
- [SAML Auth Managed Cloud](/nx-cloud/recipes/on-premise/auth-saml-managed) - [SAML Auth Managed Cloud](/ci/recipes/on-premise/auth-saml-managed)
- [Advanced Configuration](/nx-cloud/recipes/on-premise/advanced-config) - [Advanced Configuration](/ci/recipes/on-premise/advanced-config)

View File

@ -70,8 +70,8 @@ When upgrading to this version and anything above it, you will need to use Helm
##### Breaking changes - MongoDB migration ##### Breaking changes - MongoDB migration
In the last big release we announced [the deprecation of Mongo 4.2](/nx-cloud/reference/release-notes#breaking-changes) In the last big release we announced [the deprecation of Mongo 4.2](/ci/reference/release-notes#breaking-changes)
With this release, we have now stopped supporting Mongo 4.2 completely. Please upgrade Mongo to version 6 before installing this new image. You will find instructions [here](/nx-cloud/reference/release-notes#breaking-changes). With this release, we have now stopped supporting Mongo 4.2 completely. Please upgrade Mongo to version 6 before installing this new image. You will find instructions [here](/ci/reference/release-notes#breaking-changes).
### 2306.01.2.patch4 ### 2306.01.2.patch4

View File

@ -226,7 +226,7 @@ Clearly this is not a scalable solution as it requires us to manually add every
This change makes our CI pipeline configuration more maintainable. For a small repository, this might be good enough, but after a little bit of growth this approach will cause your CI times to become unmanageable. This change makes our CI pipeline configuration more maintainable. For a small repository, this might be good enough, but after a little bit of growth this approach will cause your CI times to become unmanageable.
Nx comes with a dedicated ["affected" command](/nx-cloud/features/affected) to help with that by only running tasks for projects that were affected by the changes in a given PR. Nx comes with a dedicated ["affected" command](/ci/features/affected) to help with that by only running tasks for projects that were affected by the changes in a given PR.
```{% command="nx affected -t build" %} ```{% command="nx affected -t build" %}
✔ nx run shared-product-types:build (404ms) ✔ nx run shared-product-types:build (404ms)
@ -310,7 +310,7 @@ Merge your PR into the `main` branch when you're ready to move to the next secti
## Enable Remote Caching on Circle CI ## Enable Remote Caching on Circle CI
Reducing the number of tasks to run via [affected commands](/nx-cloud/features/affected) (as seen in the previous section) is helpful, but might not be enough. By default [Nx caches the results of tasks](/core-features/cache-task-results) on your local machine. But CI and local developer machines are still performing the same tasks on the same code - wasting time and money. The [Nx Cloud remote cache](/nx-cloud/features/remote-cache) can eliminate that waste for you. Reducing the number of tasks to run via [affected commands](/ci/features/affected) (as seen in the previous section) is helpful, but might not be enough. By default [Nx caches the results of tasks](/core-features/cache-task-results) on your local machine. But CI and local developer machines are still performing the same tasks on the same code - wasting time and money. The [Nx Cloud remote cache](/ci/features/remote-cache) can eliminate that waste for you.
```{% command="pnpm nx connect" %} ```{% command="pnpm nx connect" %}
✔ Enable distributed caching to make your CI faster · Yes ✔ Enable distributed caching to make your CI faster · Yes
@ -350,7 +350,7 @@ When Circle CI now processes our tasks they'll only take a fraction of the usual
![Circle CI after enabling remote caching](/nx-cloud/tutorial/circle-ci-remote-cache.png) ![Circle CI after enabling remote caching](/nx-cloud/tutorial/circle-ci-remote-cache.png)
The commands could be restored from the remote cache because we had run them locally before pushing the changes, thus priming the cache with the results. You can **configure** whether local runs should be read-only or read/write. [Our docs page has more details on various scenarios](/nx-cloud/concepts/scenarios) and how to configure them. The commands could be restored from the remote cache because we had run them locally before pushing the changes, thus priming the cache with the results. You can **configure** whether local runs should be read-only or read/write. [Our docs page has more details on various scenarios](/ci/concepts/scenarios) and how to configure them.
You might also want to learn more about [how to fine-tune caching](/recipes/running-tasks/customizing-inputs) to get even better results. You might also want to learn more about [how to fine-tune caching](/recipes/running-tasks/customizing-inputs) to get even better results.
@ -358,7 +358,7 @@ Merge your PR into the `main` branch when you're ready to move to the next secti
## Parallelize Tasks across Multiple Machines ## Parallelize Tasks across Multiple Machines
The affected command and remote caching help speed up the average CI time, but there will be some PRs that affect everything in the repository. The only way to speed up that worst case scenario is through efficient parallelization. The best way to parallelize CI with Nx is to use [distributed task execution (DTE)](/nx-cloud/features/distribute-task-execution). The affected command and remote caching help speed up the average CI time, but there will be some PRs that affect everything in the repository. The only way to speed up that worst case scenario is through efficient parallelization. The best way to parallelize CI with Nx is to use [distributed task execution (DTE)](/ci/features/distribute-task-execution).
Nx Cloud's DTE feature Nx Cloud's DTE feature
@ -509,6 +509,6 @@ With this pipeline configuration in place, no matter how large the repository sc
You now have a highly optimized CI configuration that will scale as your repository scales. See what else you can do with Nx Cloud. You now have a highly optimized CI configuration that will scale as your repository scales. See what else you can do with Nx Cloud.
- Set up [GitHub PR integration](/nx-cloud/recipes/source-control-integration/github) to view Nx Cloud results directly in your PR - Set up [GitHub PR integration](/ci/recipes/source-control-integration/github) to view Nx Cloud results directly in your PR
- Choose the [security scenario](/nx-cloud/concepts/scenarios) that makes sense for your organization - Choose the [security scenario](/ci/concepts/scenarios) that makes sense for your organization
- [Record non-Nx commands](/nx-cloud/recipes/other/record-commands) and view the results in the Nx Cloud interface - [Record non-Nx commands](/ci/recipes/other/record-commands) and view the results in the Nx Cloud interface

View File

@ -221,7 +221,7 @@ Clearly this is not a scalable solution as it requires us to manually add every
This change makes our CI pipeline configuration more maintainable. For a small repository, this might be good enough, but after a little bit of growth this approach will cause your CI times to become unmanageable. This change makes our CI pipeline configuration more maintainable. For a small repository, this might be good enough, but after a little bit of growth this approach will cause your CI times to become unmanageable.
Nx comes with a dedicated ["affected" command](/nx-cloud/features/affected) to help with that by only running tasks for projects that were affected by the changes in a given PR. Nx comes with a dedicated ["affected" command](/ci/features/affected) to help with that by only running tasks for projects that were affected by the changes in a given PR.
```{% command="nx affected -t build" %} ```{% command="nx affected -t build" %}
✔ nx run shared-product-types:build (404ms) ✔ nx run shared-product-types:build (404ms)
@ -311,7 +311,7 @@ Merge your PR into the `main` branch when you're ready to move to the next secti
## Enable Remote Caching on GitHub Actions ## Enable Remote Caching on GitHub Actions
Reducing the number of tasks to run via [affected commands](/nx-cloud/features/affected) (as seen in the previous section) is helpful, but might not be enough. By default [Nx caches the results of tasks](/core-features/cache-task-results) on your local machine. But CI and local developer machines are still performing the same tasks on the same code - wasting time and money. The [Nx Cloud remote cache](/nx-cloud/features/remote-cache) can eliminate that waste for you. Reducing the number of tasks to run via [affected commands](/ci/features/affected) (as seen in the previous section) is helpful, but might not be enough. By default [Nx caches the results of tasks](/core-features/cache-task-results) on your local machine. But CI and local developer machines are still performing the same tasks on the same code - wasting time and money. The [Nx Cloud remote cache](/ci/features/remote-cache) can eliminate that waste for you.
```{% command="pnpm nx connect" %} ```{% command="pnpm nx connect" %}
✔ Enable distributed caching to make your CI faster · Yes ✔ Enable distributed caching to make your CI faster · Yes
@ -350,7 +350,7 @@ When GitHub Actions now processes our tasks they'll only take a fraction of the
![GitHub Actions after enabling remote caching](/nx-cloud/tutorial/gh-ci-remote-cache.png) ![GitHub Actions after enabling remote caching](/nx-cloud/tutorial/gh-ci-remote-cache.png)
The commands could be restored from the remote cache because we had run them locally before pushing the changes, thus priming the cache with the results. You can **configure** whether local runs should be read-only or read/write. [Our docs page has more details on various scenarios](/nx-cloud/concepts/scenarios) and how to configure them. The commands could be restored from the remote cache because we had run them locally before pushing the changes, thus priming the cache with the results. You can **configure** whether local runs should be read-only or read/write. [Our docs page has more details on various scenarios](/ci/concepts/scenarios) and how to configure them.
You might also want to learn more about [how to fine-tune caching](/recipes/running-tasks/customizing-inputs) to get even better results. You might also want to learn more about [how to fine-tune caching](/recipes/running-tasks/customizing-inputs) to get even better results.
@ -377,11 +377,11 @@ This will verify that Nx Cloud can connect to your repo. Upon a successful test,
![Use GitHub App for Authentication](/nx-cloud/set-up/use-github-app-auth.webp) ![Use GitHub App for Authentication](/nx-cloud/set-up/use-github-app-auth.webp)
Now any new PRs in your repo should have a comment automatically added that links directly to Nx Cloud. For other ways of setting up PR integration, read the [Enable GitHub PR Integration recipe](/nx-cloud/recipes/source-control-integration/github). Now any new PRs in your repo should have a comment automatically added that links directly to Nx Cloud. For other ways of setting up PR integration, read the [Enable GitHub PR Integration recipe](/ci/recipes/source-control-integration/github).
## Parallelize Tasks across Multiple Machines ## Parallelize Tasks across Multiple Machines
The affected command and remote caching help speed up the average CI time, but there will be some PRs that affect everything in the repository. The only way to speed up that worst case scenario is through efficient parallelization. The best way to parallelize CI with Nx is to use [distributed task execution (DTE)](/nx-cloud/features/distribute-task-execution). The affected command and remote caching help speed up the average CI time, but there will be some PRs that affect everything in the repository. The only way to speed up that worst case scenario is through efficient parallelization. The best way to parallelize CI with Nx is to use [distributed task execution (DTE)](/ci/features/distribute-task-execution).
Nx Cloud's DTE feature Nx Cloud's DTE feature
@ -435,6 +435,6 @@ With this pipeline configuration in place, no matter how large the repository sc
You now have a highly optimized CI configuration that will scale as your repository scales. See what else you can do with Nx Cloud. You now have a highly optimized CI configuration that will scale as your repository scales. See what else you can do with Nx Cloud.
- Set up [GitHub PR integration](/nx-cloud/recipes/source-control-integration/github) to view Nx Cloud results directly in your PR - Set up [GitHub PR integration](/ci/recipes/source-control-integration/github) to view Nx Cloud results directly in your PR
- Choose the [security scenario](/nx-cloud/concepts/scenarios) that makes sense for your organization - Choose the [security scenario](/ci/concepts/scenarios) that makes sense for your organization
- [Record non-Nx commands](/nx-cloud/recipes/other/record-commands) and view the results in the Nx Cloud interface - [Record non-Nx commands](/ci/recipes/other/record-commands) and view the results in the Nx Cloud interface

View File

@ -41,7 +41,7 @@ Run the command `npx create-nx-workspace@latest` and when prompted, provide the
✔ Enable distributed caching to make your CI faster · Yes ✔ Enable distributed caching to make your CI faster · Yes
``` ```
{% card title="Opting into Nx Cloud" description="You will also be prompted whether to add Nx Cloud to your workspace. We won't address this in this tutorial, but you can see the introduction to Nx Cloud for more details." url="/nx-cloud/intro/ci-with-nx" /%} {% card title="Opting into Nx Cloud" description="You will also be prompted whether to add Nx Cloud to your workspace. We won't address this in this tutorial, but you can see the introduction to Nx Cloud for more details." url="/ci/intro/ci-with-nx" /%}
Once the command completes, the file structure should look like this: Once the command completes, the file structure should look like this:

View File

@ -46,7 +46,7 @@ Create a new Angular application with the following command:
You get asked a few questions that help Nx preconfigure your new Angular application. These include You get asked a few questions that help Nx preconfigure your new Angular application. These include
- Angular specific questions, such as which bundler to use, whether to enable server-side rendering and which stylesheet format to use - Angular specific questions, such as which bundler to use, whether to enable server-side rendering and which stylesheet format to use
- General Nx questions, such as whether to enable distributed caching with Nx Cloud. Nx comes with built-in [local caching](/core-features/cache-task-results). If you want to benefit from this cache in CI, you can enable [distributed caching](/nx-cloud/features/remote-cache) which will set up [Nx Cloud](https://nx.app). This is also a prerequisite for enabling [distributed task execution](/nx-cloud/features/distribute-task-execution). - General Nx questions, such as whether to enable distributed caching with Nx Cloud. Nx comes with built-in [local caching](/core-features/cache-task-results). If you want to benefit from this cache in CI, you can enable [distributed caching](/ci/features/remote-cache) which will set up [Nx Cloud](https://nx.app). This is also a prerequisite for enabling [distributed task execution](/ci/features/distribute-task-execution).
For the sake of this tutorial, let's respond to all the questions with the default response. For the sake of this tutorial, let's respond to all the questions with the default response.
@ -830,8 +830,8 @@ Here's some more things you can dive into next:
- Learn about popular generators such as [how to setup Tailwind](/recipes/angular/using-tailwind-css-with-angular-projects) or [add Storybook to your UI library](/recipes/storybook/overview-angular) - Learn about popular generators such as [how to setup Tailwind](/recipes/angular/using-tailwind-css-with-angular-projects) or [add Storybook to your UI library](/recipes/storybook/overview-angular)
- Learn how to [migrate your existing Angular CLI repo to Nx](/recipes/angular/migration/angular) - Learn how to [migrate your existing Angular CLI repo to Nx](/recipes/angular/migration/angular)
- [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr) - [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr)
- [Speed up CI: Share your cache](/nx-cloud/features/remote-cache) - [Speed up CI: Share your cache](/ci/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/nx-cloud/features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/ci/features/distribute-task-execution)
Also, make sure you Also, make sure you

View File

@ -25,7 +25,7 @@ Nx evolved from being an extension of the Angular CLI to a [fully standalone CLI
Advantages of Nx over the Angular CLI: Advantages of Nx over the Angular CLI:
- [Cache any target](/core-features/cache-task-results) - [Cache any target](/core-features/cache-task-results)
- [Run only tasks affected by a code change](/nx-cloud/features/affected) - [Run only tasks affected by a code change](/ci/features/affected)
- [Split a large angular.json into multiple project.json files](/concepts/more-concepts/nx-and-angular#projectjson-vs-angularjson) - [Split a large angular.json into multiple project.json files](/concepts/more-concepts/nx-and-angular#projectjson-vs-angularjson)
- [Integrate with modern tools](/concepts/more-concepts/nx-and-angular#integrating-with-modern-tools) - [Integrate with modern tools](/concepts/more-concepts/nx-and-angular#integrating-with-modern-tools)
- [Controllable update process](/concepts/more-concepts/nx-and-angular#ng-update-vs-nx-migrate) - [Controllable update process](/concepts/more-concepts/nx-and-angular#ng-update-vs-nx-migrate)
@ -981,7 +981,7 @@ Learn more about how to [enforce module boundaries](/core-features/enforce-modul
## Setting Up CI ## Setting Up CI
Without adequate tooling, CI times tend to grow exponentially with the size of the codebase. Nx helps decrease the average CI time with the [`affected` command](/nx-cloud/features/affected) and Nx Cloud's [distributed caching](/nx-cloud/features/remote-cache). Nx also [decreases the worst case CI time](/nx-cloud/concepts/dte) with Nx Cloud's distributed task execution. Without adequate tooling, CI times tend to grow exponentially with the size of the codebase. Nx helps decrease the average CI time with the [`affected` command](/ci/features/affected) and Nx Cloud's [distributed caching](/ci/features/remote-cache). Nx also [decreases the worst case CI time](/ci/concepts/dte) with Nx Cloud's distributed task execution.
To set up Nx Cloud run: To set up Nx Cloud run:
@ -1001,7 +1001,7 @@ nx generate ci-workflow --ci=github
You can choose `github`, `circleci`, `azure`, `bitbucket-pipelines`, or `gitlab` for the `ci` flag. You can choose `github`, `circleci`, `azure`, `bitbucket-pipelines`, or `gitlab` for the `ci` flag.
{% /callout %} {% /callout %}
This will create a default CI configuration that sets up Nx Cloud to [use distributed task execution](/nx-cloud/features/distribute-task-execution). This automatically runs all tasks on separate machines in parallel wherever possible, without requiring you to manually coordinate copying the output from one machine to another. This will create a default CI configuration that sets up Nx Cloud to [use distributed task execution](/ci/features/distribute-task-execution). This automatically runs all tasks on separate machines in parallel wherever possible, without requiring you to manually coordinate copying the output from one machine to another.
## Next Steps ## Next Steps
@ -1013,8 +1013,8 @@ Here's some more things you can dive into next:
- Learn how to [migrate your existing Angular CLI repo to Nx](/recipes/angular/migration/angular) - Learn how to [migrate your existing Angular CLI repo to Nx](/recipes/angular/migration/angular)
- [Setup Storybook for our shared UI library](/recipes/storybook/overview-angular) - [Setup Storybook for our shared UI library](/recipes/storybook/overview-angular)
- [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr) - [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr)
- [Speed up CI: Share your cache](/nx-cloud/features/remote-cache) - [Speed up CI: Share your cache](/ci/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/nx-cloud/features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/ci/features/distribute-task-execution)
Also, make sure you Also, make sure you

View File

@ -18,4 +18,4 @@ If there are React and Angular apps in the same repo, we don't want both framewo
The primary concern people have with this approach is that of coordinating updates. If two different teams are working on React apps in the same repo, they'll need to agree about when to upgrade React across the repo. This is a valid concern and beyond the scope of Nx to solve. If the developers can't cooperate, they should probably work in separate repos. On the other hand, if the teams can agree, it becomes much less work to upgrade the whole repo at the same time rather than performing that same upgrade process multiple times spread out over months or years. Performing the same code manipulation 100 places all at once is much easier than remembering how to perform that code manipulation 100 different times spread out over a year. The primary concern people have with this approach is that of coordinating updates. If two different teams are working on React apps in the same repo, they'll need to agree about when to upgrade React across the repo. This is a valid concern and beyond the scope of Nx to solve. If the developers can't cooperate, they should probably work in separate repos. On the other hand, if the teams can agree, it becomes much less work to upgrade the whole repo at the same time rather than performing that same upgrade process multiple times spread out over months or years. Performing the same code manipulation 100 places all at once is much easier than remembering how to perform that code manipulation 100 different times spread out over a year.
Consult the Nx executor's reference page to find options for populating dependencies and a lock file. If you would like to use Nx's graph to populate the dependencies of a project in your own scripts or custom executor, read about how to [prepare applications for deployment via CI](/nx-cloud/recipes/other/ci-deployment). Consult the Nx executor's reference page to find options for populating dependencies and a lock file. If you would like to use Nx's graph to populate the dependencies of a project in your own scripts or custom executor, read about how to [prepare applications for deployment via CI](/ci/recipes/other/ci-deployment).

View File

@ -107,7 +107,7 @@ This approach fully optimizes the binning strategy so that tasks are optimally d
### 🎉 Pro: Easy to Scale ### 🎉 Pro: Easy to Scale
If CI is taking too long, simply increase the number of agent jobs being started in your CI system and Nx will recognize the new agent jobs are available and distribute tasks accordingly. With this approach, your worst case CI time is only limited by your longest running individual task. If you want Nx to automatically provision the agents for you, check out [Nx Cloud Workflows](/nx-cloud/features/nx-cloud-workflows). If CI is taking too long, simply increase the number of agent jobs being started in your CI system and Nx will recognize the new agent jobs are available and distribute tasks accordingly. With this approach, your worst case CI time is only limited by your longest running individual task. If you want Nx to automatically provision the agents for you, check out [Nx Cloud Workflows](/ci/features/nx-cloud-workflows).
### 🎉 Pro: Build Artifacts ### 🎉 Pro: Build Artifacts
@ -119,7 +119,7 @@ Because Nx uses distributed computation caching to replay all the tasks back on
## Conclusion ## Conclusion
If your repo is starting to grow large enough that CI times are suffering, or if your parallelization strategy is growing too complex to manage effectively, try [setting up Nx Cloud with Distributed Task Execution](/nx-cloud/features/distribute-task-execution). You can generate a simple workflow for common CI providers with a single command and then customize from there. If your repo is starting to grow large enough that CI times are suffering, or if your parallelization strategy is growing too complex to manage effectively, try [setting up Nx Cloud with Distributed Task Execution](/ci/features/distribute-task-execution). You can generate a simple workflow for common CI providers with a single command and then customize from there.
Nx Cloud is [free for up to 300 CI Pipeline Executions](https://nx.app/pricing/) per month. Most organizations do not exceed the free tier. If you're working on an open source repo, we'll give you a coupon for unlimited free use of Nx Cloud. Nx Cloud is [free for up to 300 CI Pipeline Executions](https://nx.app/pricing/) per month. Most organizations do not exceed the free tier. If you're working on an open source repo, we'll give you a coupon for unlimited free use of Nx Cloud.

View File

@ -119,13 +119,13 @@ The cache is stored in `.nx/cache` by default. You can also [change where the ca
## Enable Remote Caching ## Enable Remote Caching
You can enable remote caching by connecting to [Nx Cloud](/nx-cloud). To connect Nx to Nx Cloud run the following command: You can enable remote caching by connecting to [Nx Cloud](/ci/features/remote-cache). To connect Nx to Nx Cloud run the following command:
```shell ```shell
npx nx connect npx nx connect
``` ```
Learn more about [remote caching](/nx-cloud/features/remote-cache). Learn more about [remote caching](/ci/features/remote-cache).
## Turn off or Skip the Cache ## Turn off or Skip the Cache
@ -135,7 +135,7 @@ If you want to ignore the cache (both reads and writes), use the `--skip-nx-cach
nx build header --skip-nx-cache nx build header --skip-nx-cache
``` ```
Alternatively if you want to disable caching for a particular task, just make sure it is not part [of the cached targets](/core-features/cache-task-results#define-cacheable-tasks). If [you're using Nx Cloud](/nx-cloud/features/remote-cache#skipping-cloud-cache), you might want to use `--no-cloud` to skip remote caching. Alternatively if you want to disable caching for a particular task, just make sure it is not part [of the cached targets](/core-features/cache-task-results#define-cacheable-tasks). If [you're using Nx Cloud](/ci/features/remote-cache#skipping-cloud-cache), you might want to use `--no-cloud` to skip remote caching.
## Clear the Local Cache ## Clear the Local Cache

View File

@ -1,7 +1,7 @@
# Distribute Task Execution (DTE) # Distribute Task Execution (DTE)
Nx speeds up your average CI time with [caching](/core-features/cache-task-results) and Nx speeds up your average CI time with [caching](/core-features/cache-task-results) and
the [affected command](/nx-cloud/features/affected). But neither of these features help with the worst case scenario. When the [affected command](/ci/features/affected). But neither of these features help with the worst case scenario. When
something at the core of your repo has been modified and every task needs to be run in CI, the only way to improve the something at the core of your repo has been modified and every task needs to be run in CI, the only way to improve the
performance is by adding more agent jobs and efficiently parallelizing the tasks. performance is by adding more agent jobs and efficiently parallelizing the tasks.
@ -25,7 +25,7 @@ When you set up Nx's distributed task execution, your task graph will look more
And not only will CI finish faster, but the debugging experience is the same as if you ran all of your CI on a single And not only will CI finish faster, but the debugging experience is the same as if you ran all of your CI on a single
job. That's because Nx uses distributed caching to recreate all of the logs and build artifacts on the main job. job. That's because Nx uses distributed caching to recreate all of the logs and build artifacts on the main job.
Find more information in this [detailed guide to improve your worst case CI times](/nx-cloud/concepts/dte). Find more information in this [detailed guide to improve your worst case CI times](/ci/concepts/dte).
## Set up ## Set up
@ -54,7 +54,7 @@ For existing workspaces you would probably want to adjust your configuration by
Distributed task execution can work on any CI provider. You are responsible for launching jobs in your CI system. Nx Distributed task execution can work on any CI provider. You are responsible for launching jobs in your CI system. Nx
Cloud then coordinates the way those jobs work together. There are two different kinds of jobs that you'll need to Cloud then coordinates the way those jobs work together. There are two different kinds of jobs that you'll need to
create in your CI system. If you would like Nx Cloud to dynamically provision agents for you, check out [Nx Cloud Workflows](/nx-cloud/features/nx-cloud-workflows) create in your CI system. If you would like Nx Cloud to dynamically provision agents for you, check out [Nx Cloud Workflows](/ci/features/nx-cloud-workflows)
1. Main job that controls what is going to be executed 1. Main job that controls what is going to be executed
2. Multiple agent jobs that actually execute the tasks 2. Multiple agent jobs that actually execute the tasks
@ -87,7 +87,7 @@ Depending on your CI setup, you might want to stop the agents explicitly. You ca
> For most CI providers, Nx Cloud is able to able to match the main and the agents automatically but for some you might > For most CI providers, Nx Cloud is able to able to match the main and the agents automatically but for some you might
> need to provision the `NX_BRANCH` and `NX_CI_EXECUTION_ID` env variables ( > need to provision the `NX_BRANCH` and `NX_CI_EXECUTION_ID` env variables (
> see [Environment Variables](/nx-cloud/reference/env-vars) for more info). > see [Environment Variables](/ci/reference/env-vars) for more info).
The main job looks more or less the same way as if you haven't used any distribution. The only thing you need to do is The main job looks more or less the same way as if you haven't used any distribution. The only thing you need to do is
to invoke `npx nx-cloud start-ci-run` at the beginning and, optionally, invoke `npx nx-cloud stop-all-agents` at the to invoke `npx nx-cloud start-ci-run` at the beginning and, optionally, invoke `npx nx-cloud stop-all-agents` at the
@ -150,10 +150,10 @@ CI/CD (e.g., deployment). They mainly focus on configuring Nx correctly.
Read the guides for more information on how to configure them in CI. Read the guides for more information on how to configure them in CI.
- [Azure Pipelines](/nx-cloud/recipes/set-up/monorepo-ci-azure#distributed-ci-with-nx-cloud) - [Azure Pipelines](/ci/recipes/set-up/monorepo-ci-azure#distributed-ci-with-nx-cloud)
- [Circle CI](/nx-cloud/recipes/set-up/monorepo-ci-circle-ci#distributed-ci-with-nx-cloud) - [Circle CI](/ci/recipes/set-up/monorepo-ci-circle-ci#distributed-ci-with-nx-cloud)
- [GitHub Actions](/nx-cloud/recipes/set-up/monorepo-ci-github-actions#distributed-ci-with-nx-cloud) - [GitHub Actions](/ci/recipes/set-up/monorepo-ci-github-actions#distributed-ci-with-nx-cloud)
- [Jenkins](/nx-cloud/recipes/set-up/monorepo-ci-jenkins#distributed-ci-with-nx-cloud) - [Jenkins](/ci/recipes/set-up/monorepo-ci-jenkins#distributed-ci-with-nx-cloud)
Note that only cacheable operations can be distributed because they have to be replayed on the main job. Note that only cacheable operations can be distributed because they have to be replayed on the main job.

View File

@ -96,7 +96,7 @@ You can also run a command for all the projects affected by your PR like this:
npx nx affected -t test npx nx affected -t test
``` ```
Learn more about the affected command [here](/nx-cloud/features/affected). Learn more about the affected command [here](/ci/features/affected).
## Defining a Task Pipeline ## Defining a Task Pipeline

View File

@ -18,4 +18,4 @@ You created a workspace from scratch in this tutorial, but if you would like to
**Dive Deep:** **Dive Deep:**
- [Computation Caching](/concepts/how-caching-works) - [Computation Caching](/concepts/how-caching-works)
- [Rebuilding What is Affected](/nx-cloud/features/affected) - [Rebuilding What is Affected](/ci/features/affected)

View File

@ -5,7 +5,7 @@ Nx is a powerful open-source build system that provides tools and techniques for
## Core Features ## Core Features
- **Run Tasks Efficiently**: Nx [runs tasks in parallel](/core-features/run-tasks) and orders the tasks based on the dependencies between them. - **Run Tasks Efficiently**: Nx [runs tasks in parallel](/core-features/run-tasks) and orders the tasks based on the dependencies between them.
- **Cache Locally & Remotely**: With [local](/core-features/cache-task-results) and [remote caching](/nx-cloud/features/remote-cache), Nx prevents unnecessary re-runs of tasks, saving you valuable dev time. - **Cache Locally & Remotely**: With [local](/core-features/cache-task-results) and [remote caching](/ci/features/remote-cache), Nx prevents unnecessary re-runs of tasks, saving you valuable dev time.
- **Automate Dependency Updates**: if you leverage Nx plugins you gain additional features such as [code generation](/core-features/plugin-features/use-code-generators) and tools to [automatically upgrade](core-features/automate-updating-dependencies) your codebase and dependencies. - **Automate Dependency Updates**: if you leverage Nx plugins you gain additional features such as [code generation](/core-features/plugin-features/use-code-generators) and tools to [automatically upgrade](core-features/automate-updating-dependencies) your codebase and dependencies.
- **Make it Your Own**: Nx is highly customizable and extensible. Fine-tune it by [creating your own plugins](/extending-nx/intro/getting-started) and optionally [share them with the community](/extending-nx/tutorials/publish-plugin#publish-your-nx-plugin). - **Make it Your Own**: Nx is highly customizable and extensible. Fine-tune it by [creating your own plugins](/extending-nx/intro/getting-started) and optionally [share them with the community](/extending-nx/tutorials/publish-plugin#publish-your-nx-plugin).

View File

@ -27,7 +27,7 @@ Nx is built in a modular fashion to let you only use the features you need.
![High-level Nx architecture](/shared/images/nx-architecture.svg) ![High-level Nx architecture](/shared/images/nx-architecture.svg)
- The **Nx** package provides fundamental technology-agnostic capabilities such as: [workspace analysis](/core-features/explore-graph), [task running](/core-features/run-tasks), [caching](/core-features/cache-task-results), [distribution](/nx-cloud/features/distribute-task-execution), [code generation](/core-features/plugin-features/use-code-generators) and [automated code migrations](/core-features/automate-updating-dependencies). - The **Nx** package provides fundamental technology-agnostic capabilities such as: [workspace analysis](/core-features/explore-graph), [task running](/core-features/run-tasks), [caching](/core-features/cache-task-results), [distribution](/ci/features/distribute-task-execution), [code generation](/core-features/plugin-features/use-code-generators) and [automated code migrations](/core-features/automate-updating-dependencies).
- **Plugins** are NPM packages that built on top of the fundamental capabilities provided by the Nx package. Nx plugins contain [code generators](/core-features/plugin-features/use-code-generators), [executors](/core-features/plugin-features/use-task-executors) (to abstract lower-level build tooling) and automated code migrations for keeping your tools up to date. Contrary to the Nx package, which works the same way with any JS or non-JS project, plugins are usually technology specific. For instance, `@nx/react` adds support for building React apps and libs, `@nx/cypress` adds e2e testing capabilities with Cypress. Plugins make developers more productive by removing any friction of integrating different tools with each other and by providing utilities to keep them up to date. The Nx team maintains plugins for React, Next, Remix, Angular, Jest, Cypress, Storybook and more. You can use the `@nx/plugin` package to easily [scaffold a new plugin](/extending-nx/intro/getting-started) or even just [automate your local workspace](/extending-nx/recipes/local-generators). There are also more than 80 [community plugins](/plugin-registry). - **Plugins** are NPM packages that built on top of the fundamental capabilities provided by the Nx package. Nx plugins contain [code generators](/core-features/plugin-features/use-code-generators), [executors](/core-features/plugin-features/use-task-executors) (to abstract lower-level build tooling) and automated code migrations for keeping your tools up to date. Contrary to the Nx package, which works the same way with any JS or non-JS project, plugins are usually technology specific. For instance, `@nx/react` adds support for building React apps and libs, `@nx/cypress` adds e2e testing capabilities with Cypress. Plugins make developers more productive by removing any friction of integrating different tools with each other and by providing utilities to keep them up to date. The Nx team maintains plugins for React, Next, Remix, Angular, Jest, Cypress, Storybook and more. You can use the `@nx/plugin` package to easily [scaffold a new plugin](/extending-nx/intro/getting-started) or even just [automate your local workspace](/extending-nx/recipes/local-generators). There are also more than 80 [community plugins](/plugin-registry).
- **Devkit** is a set of utilities for [building Nx plugins](/extending-nx/intro/getting-started). - **Devkit** is a set of utilities for [building Nx plugins](/extending-nx/intro/getting-started).
- **Nx Cloud** helps scale your project on CI by [adding remote caching](/concepts/how-caching-works) and [distributed task execution](/concepts/more-concepts/illustrated-dte). It also improves developer ergonomics by integrating with GitHub, GitLab and BitBucket and providing searchable structured logs. Learn more at [nx.app](https://nx.app). - **Nx Cloud** helps scale your project on CI by [adding remote caching](/concepts/how-caching-works) and [distributed task execution](/concepts/more-concepts/illustrated-dte). It also improves developer ergonomics by integrating with GitHub, GitLab and BitBucket and providing searchable structured logs. Learn more at [nx.app](https://nx.app).

View File

@ -46,7 +46,7 @@ For example:
from `apps/my-app/.env`, it will notice that `NX_API_URL` already exists, so it will ignore it. from `apps/my-app/.env`, it will notice that `NX_API_URL` already exists, so it will ignore it.
We recommend nesting your **app** specific `env` files in `apps/your-app`, and creating workspace/root level `env` files We recommend nesting your **app** specific `env` files in `apps/your-app`, and creating workspace/root level `env` files
for workspace-specific settings (like the [Nx Cloud token](/nx-cloud/features/remote-cache)). for workspace-specific settings (like the [Nx Cloud token](/ci/features/remote-cache)).
{% /callout %} {% /callout %}
### Pointing to custom env files ### Pointing to custom env files

View File

@ -372,7 +372,7 @@ module.exports = withModuleFederation({
Now you can run `nx build host` to build all the `host` and all the implicit dependencies in production mode. Now you can run `nx build host` to build all the `host` and all the implicit dependencies in production mode.
{% callout type="note" title="Distributed caching" %} {% callout type="note" title="Distributed caching" %}
Again, if you don't use [Nx Cloud's Distributed Tasks Execution](/nx-cloud/concepts/dte) using Module Federation will be slower Again, if you don't use [Nx Cloud's Distributed Tasks Execution](/ci/concepts/dte) using Module Federation will be slower
than building everything in a single process. It's only if you enable Distributed Tasks Execution, your CI will be able than building everything in a single process. It's only if you enable Distributed Tasks Execution, your CI will be able
to build each remote on a separate machine, in parallel, (or not build it at all and retrieve it from cache), which will to build each remote on a separate machine, in parallel, (or not build it at all and retrieve it from cache), which will
reduce the CI time. reduce the CI time.

View File

@ -43,8 +43,8 @@ Here's a quick side-by-side overview comparing the features between the Angular
| [Running Tasks in Parallel](/recipes/running-tasks/run-tasks-in-parallel) | ❌ | ✅ | | [Running Tasks in Parallel](/recipes/running-tasks/run-tasks-in-parallel) | ❌ | ✅ |
| Building, Testing [Only What is Affected](/core-features/run-tasks#run-tasks-on-projects-affected-by-a-pr) | ❌ | ✅ | | Building, Testing [Only What is Affected](/core-features/run-tasks#run-tasks-on-projects-affected-by-a-pr) | ❌ | ✅ |
| [Local Caching](/core-features/cache-task-results) | ❌\*\* | ✅ | | [Local Caching](/core-features/cache-task-results) | ❌\*\* | ✅ |
| [Distributed Caching](/nx-cloud/features/remote-cache) | ❌ | ✅ | | [Distributed Caching](/ci/features/remote-cache) | ❌ | ✅ |
| [Distributed Task Execution on CI](/nx-cloud/features/distribute-task-execution) | ❌ | ✅ | | [Distributed Task Execution on CI](/ci/features/distribute-task-execution) | ❌ | ✅ |
| Custom Hashers | ❌ | ✅ | | Custom Hashers | ❌ | ✅ |
| [Extensible Plugin System](/extending-nx/intro/getting-started) | ❌ | ✅ | | [Extensible Plugin System](/extending-nx/intro/getting-started) | ❌ | ✅ |
@ -209,11 +209,11 @@ Nx is designed to be fast. The Angular CLI leverages Webpack's caching, which Nx
Features like Features like
- only running tasks on [affected projects](/nx-cloud/features/affected) - only running tasks on [affected projects](/ci/features/affected)
- running [tasks in parallel](/core-features/run-tasks#run-tasks-for-multiple-projects) - running [tasks in parallel](/core-features/run-tasks#run-tasks-for-multiple-projects)
- applying [computation caching](/core-features/cache-task-results) - applying [computation caching](/core-features/cache-task-results)
- offering [remote caching abilities](/nx-cloud/features/remote-cache) on CI - offering [remote caching abilities](/ci/features/remote-cache) on CI
- offering [task distribution across machines (DTE)](/nx-cloud/features/distribute-task-execution) - offering [task distribution across machines (DTE)](/ci/features/distribute-task-execution)
And, Nx already uses fast, modern tooling like [ESBuild](/nx-api/esbuild), [Vite](/nx-api/vite), Vitest and [Rspack](/nx-api/rspack) for non-Angular stacks. So once Angular is ready to use these tools, Nx will also be ready. And, Nx already uses fast, modern tooling like [ESBuild](/nx-api/esbuild), [Vite](/nx-api/vite), Vitest and [Rspack](/nx-api/rspack) for non-Angular stacks. So once Angular is ready to use these tools, Nx will also be ready.

View File

@ -9,8 +9,8 @@ Nx has first-class support for [package-based monorepos](/getting-started/tutori
- fast [task scheduling](/core-features/run-tasks) - fast [task scheduling](/core-features/run-tasks)
- support for [task pipelines](/concepts/task-pipeline-configuration) - support for [task pipelines](/concepts/task-pipeline-configuration)
- [caching](/core-features/cache-task-results) - [caching](/core-features/cache-task-results)
- optionally [remote caching with Nx Cloud](/nx-cloud/features/remote-cache) - optionally [remote caching with Nx Cloud](/ci/features/remote-cache)
- optionally [distributed task execution with Nx Cloud](/nx-cloud/features/distribute-task-execution) - optionally [distributed task execution with Nx Cloud](/ci/features/distribute-task-execution)
This is a low-impact operation because all that needs to be done is to install the `nx` package at the root level and add an `nx.json` for configuring caching and task pipelines. This is a low-impact operation because all that needs to be done is to install the `nx` package at the root level and add an `nx.json` for configuring caching and task pipelines.

View File

@ -193,4 +193,4 @@ Learn more about the advantages of Nx in the following guides:
[Using Cypress for e2e tests](/nx-api/cypress) \ [Using Cypress for e2e tests](/nx-api/cypress) \
[Using Jest for unit tests](/nx-api/jest) \ [Using Jest for unit tests](/nx-api/jest) \
[Rebuilding and Retesting What is Affected](/nx-cloud/features/affected) [Rebuilding and Retesting What is Affected](/ci/features/affected)

View File

@ -213,9 +213,9 @@ For each `turbo.json` configuration property, the equivalent Nx property is list
| `--output-logs` | Use [`--output-style`](/nx-api/nx/documents/run-many#output-style) | | `--output-logs` | Use [`--output-style`](/nx-api/nx/documents/run-many#output-style) |
| `--only` | N/A | | `--only` | N/A |
| `--parallel` | N/A | | `--parallel` | N/A |
| `--remote-only` | N/A. Can [ignore the remote cache](/nx-cloud/features/remote-cache#skipping-cloud) with `--no-cloud`. | | `--remote-only` | N/A. Can [ignore the remote cache](/ci/features/remote-cache#skipping-cloud) with `--no-cloud`. |
| `--summarize` | N/A | | `--summarize` | N/A |
| `--token` | Set the [Nx Cloud token in `nx.json`](/nx-cloud/recipes/security/access-tokens#setting-access-tokens) or as an environment variable (`NX_CLOUD_ACCESS_TOKEN`) | | `--token` | Set the [Nx Cloud token in `nx.json`](/ci/recipes/security/access-tokens#setting-access-tokens) or as an environment variable (`NX_CLOUD_ACCESS_TOKEN`) |
| `--team` | See `--token` for choosing a different Nx Cloud workspace. You can [use `--runner`](/nx-api/nx/documents/run-many#runner) to choose a different runner defined in the `nx.json` file. | | `--team` | See `--token` for choosing a different Nx Cloud workspace. You can [use `--runner`](/nx-api/nx/documents/run-many#runner) to choose a different runner defined in the `nx.json` file. |
| `--preflight` | N/A | | `--preflight` | N/A |
| `--trace` | N/A. [`--verbose`](/nx-api/nx/documents/run-many#verbose) for more logging. | | `--trace` | N/A. [`--verbose`](/nx-api/nx/documents/run-many#verbose) for more logging. |

View File

@ -21,9 +21,9 @@ For a discussion on #2, see [dependency management](#dependency-management) belo
Nx comes with a powerful task scheduler that intelligently runs operations and makes sure they are quick. This happens in a variety of ways: Nx comes with a powerful task scheduler that intelligently runs operations and makes sure they are quick. This happens in a variety of ways:
- **Parallelization and task dependencies -** Nx automatically [knows how your projects relate to each other](/concepts/more-concepts/how-project-graph-is-built). As a result, if `project-a` depends on `project-b` and you run the build command for `project-a`, Nx first runs the builds for all of `project-a`'s dependencies and then the invoked project itself. Nx sorts these tasks to maximize parallelism. - **Parallelization and task dependencies -** Nx automatically [knows how your projects relate to each other](/concepts/more-concepts/how-project-graph-is-built). As a result, if `project-a` depends on `project-b` and you run the build command for `project-a`, Nx first runs the builds for all of `project-a`'s dependencies and then the invoked project itself. Nx sorts these tasks to maximize parallelism.
- **Only run what changed -** Using [Nx affected commands](/nx-cloud/features/affected) you only really execute tasks on the projects that changed, compared to a given baseline (usually the main branch). - **Only run what changed -** Using [Nx affected commands](/ci/features/affected) you only really execute tasks on the projects that changed, compared to a given baseline (usually the main branch).
- **Caching -** You get Nx's [computation caching](/concepts/how-caching-works) for free. All operations, including artifacts and terminal output are restored from the cache (if present) in a completely transparent way without disrupting your DX. No configuration needed. Obviously this results in an incredible speed improvement. - **Caching -** You get Nx's [computation caching](/concepts/how-caching-works) for free. All operations, including artifacts and terminal output are restored from the cache (if present) in a completely transparent way without disrupting your DX. No configuration needed. Obviously this results in an incredible speed improvement.
- **Distributed Task Execution -** This is unique to Nx. In combination with Nx Cloud your tasks are automatically distributed across CI agents, taking into account build order, maximizing parallelization and thus agent utilization. It even learns from previous runs to better distribute tasks! [Learn more](/nx-cloud/concepts/dte) - **Distributed Task Execution -** This is unique to Nx. In combination with Nx Cloud your tasks are automatically distributed across CI agents, taking into account build order, maximizing parallelization and thus agent utilization. It even learns from previous runs to better distribute tasks! [Learn more](/ci/concepts/dte)
## Integrating Nx with Lerna ## Integrating Nx with Lerna

View File

@ -121,7 +121,7 @@ Learn more about the advantages of Nx in the following guides:
- [Using Cypress for e2e tests](/nx-api/cypress) - [Using Cypress for e2e tests](/nx-api/cypress)
- [Using Jest for unit tests](/nx-api/jest) - [Using Jest for unit tests](/nx-api/jest)
- [Computation Caching](/concepts/how-caching-works) - [Computation Caching](/concepts/how-caching-works)
- [Rebuilding and Retesting What is Affected](/nx-cloud/features/affected) - [Rebuilding and Retesting What is Affected](/ci/features/affected)
- [Integrate with Editors](/core-features/integrate-with-editors) - [Integrate with Editors](/core-features/integrate-with-editors)
- [Advanced Angular Micro Frontends with Dynamic Module Federation](/recipes/angular/dynamic-module-federation-with-angular) - [Advanced Angular Micro Frontends with Dynamic Module Federation](/recipes/angular/dynamic-module-federation-with-angular)

View File

@ -4,7 +4,7 @@ There are two general approaches to setting up CI with Nx - using a single job o
## Process Only Affected Projects With One Job on Azure Pipelines ## Process Only Affected Projects With One Job on Azure Pipelines
Below is an example of an Azure Pipelines setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/nx-cloud/features/affected) to run the tasks only for the projects that were affected by that PR. Below is an example of an Azure Pipelines setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/ci/features/affected) to run the tasks only for the projects that were affected by that PR.
```yaml {% fileName="azure-pipelines.yml" %} ```yaml {% fileName="azure-pipelines.yml" %}
trigger: trigger:
@ -56,7 +56,7 @@ jobs:
{% callout type="note" title="Check your Shallow Fetch settings" %} {% callout type="note" title="Check your Shallow Fetch settings" %}
Nx needs additional Git history available for [`affected`](/nx-cloud/features/affected) to function correctly. Make sure Shallow fetching is disabled in your pipeline settings UI. For more info, check out this article from Microsoft [here](https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/steps-checkout?view=azure-pipelines#shallow-fetch). Nx needs additional Git history available for [`affected`](/ci/features/affected) to function correctly. Make sure Shallow fetching is disabled in your pipeline settings UI. For more info, check out this article from Microsoft [here](https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/steps-checkout?view=azure-pipelines#shallow-fetch).
{% /callout %} {% /callout %}
@ -105,7 +105,7 @@ Finally we extract the result in a common [custom variable](https://learn.micros
## Distribute Tasks Across Agents on Azure Pipelines ## Distribute Tasks Across Agents on Azure Pipelines
To set up [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution), you can run this generator: To set up [Distributed Task Execution (DTE)](/ci/features/distribute-task-execution), you can run this generator:
```shell ```shell
npx nx g ci-workflow --ci=azure npx nx g ci-workflow --ci=azure

View File

@ -4,7 +4,7 @@ There are two general approaches to setting up CI with Nx - using a single job o
## Process Only Affected Projects With One Job on Bitbucket Pipelines ## Process Only Affected Projects With One Job on Bitbucket Pipelines
Below is an example of an Bitbucket Pipelines setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/nx-cloud/features/affected) to run the tasks only for the projects that were affected by that PR. Below is an example of an Bitbucket Pipelines setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/ci/features/affected) to run the tasks only for the projects that were affected by that PR.
```yaml {% fileName="bitbucket-pipelines.yml" %} ```yaml {% fileName="bitbucket-pipelines.yml" %}
image: node:20 image: node:20
@ -36,7 +36,7 @@ The `pull-requests` and `main` jobs implement the CI workflow.
## Distribute Tasks Across Agents on Bitbucket Pipelines ## Distribute Tasks Across Agents on Bitbucket Pipelines
To set up [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution), you can run this generator: To set up [Distributed Task Execution (DTE)](/ci/features/distribute-task-execution), you can run this generator:
```shell ```shell
npx nx g ci-workflow --ci=bitbucket-pipelines npx nx g ci-workflow --ci=bitbucket-pipelines

View File

@ -4,7 +4,7 @@ There are two general approaches to setting up CI with Nx - using a single job o
## Process Only Affected Projects With One Job on Circle CI ## Process Only Affected Projects With One Job on Circle CI
Below is an example of an Circle CI setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/nx-cloud/features/affected) to run the tasks only for the projects that were affected by that PR. Below is an example of an Circle CI setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/ci/features/affected) to run the tasks only for the projects that were affected by that PR.
```yaml {% fileName=".circleci/config.yml" %} ```yaml {% fileName=".circleci/config.yml" %}
version: 2.1 version: 2.1
@ -43,7 +43,7 @@ It should be a user token, not the project token.
## Distribute Tasks Across Agents on Circle CI ## Distribute Tasks Across Agents on Circle CI
To set up [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution), you can run this generator: To set up [Distributed Task Execution (DTE)](/ci/features/distribute-task-execution), you can run this generator:
```shell ```shell
npx nx g ci-workflow --ci=circleci npx nx g ci-workflow --ci=circleci

View File

@ -4,7 +4,7 @@ There are two general approaches to setting up CI with Nx - using a single job o
## Process Only Affected Projects With One Job on GitHub Actions ## Process Only Affected Projects With One Job on GitHub Actions
Below is an example of an GitHub Actions setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/nx-cloud/features/affected) to run the tasks only for the projects that were affected by that PR. Below is an example of an GitHub Actions setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/ci/features/affected) to run the tasks only for the projects that were affected by that PR.
```yaml {% fileName=".github/workflows/ci.yml" %} ```yaml {% fileName=".github/workflows/ci.yml" %}
name: CI name: CI
@ -43,7 +43,7 @@ To understand why knowing the last successful build is important for the affecte
## Distribute Tasks Across Agents on GitHub Actions ## Distribute Tasks Across Agents on GitHub Actions
To set up [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution), you can run this generator: To set up [Distributed Task Execution (DTE)](/ci/features/distribute-task-execution), you can run this generator:
```shell ```shell
npx nx g ci-workflow --ci=github npx nx g ci-workflow --ci=github

View File

@ -4,7 +4,7 @@ There are two general approaches to setting up CI with Nx - using a single job o
## Process Only Affected Projects With One Job on GitLab ## Process Only Affected Projects With One Job on GitLab
Below is an example of an GitLab setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/nx-cloud/features/affected) to run the tasks only for the projects that were affected by that PR. Below is an example of an GitLab setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/ci/features/affected) to run the tasks only for the projects that were affected by that PR.
```yaml {% fileName=".gitlab-ci.yml" %} ```yaml {% fileName=".gitlab-ci.yml" %}
image: node:18 image: node:18
@ -61,7 +61,7 @@ The `build` and `test` jobs implement the CI workflow using `.distributed` as a
## Distribute Tasks Across Agents on GitLab ## Distribute Tasks Across Agents on GitLab
To set up [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution), you can run this generator: To set up [Distributed Task Execution (DTE)](/ci/features/distribute-task-execution), you can run this generator:
```shell ```shell
npx nx g ci-workflow --ci=gitlab npx nx g ci-workflow --ci=gitlab

View File

@ -4,7 +4,7 @@ There are two general approaches to setting up CI with Nx - using a single job o
## Process Only Affected Projects With One Job on Jenkins ## Process Only Affected Projects With One Job on Jenkins
Below is an example of an Jenkins setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/nx-cloud/features/affected) to run the tasks only for the projects that were affected by that PR. Below is an example of an Jenkins setup that runs on a single job, building and testing only what is affected. This uses the [`nx affected` command](/ci/features/affected) to run the tasks only for the projects that were affected by that PR.
```groovy ```groovy
pipeline { pipeline {
@ -55,7 +55,7 @@ We also have to set `NX_BRANCH` explicitly.
## Distribute Tasks Across Agents on Jenkins ## Distribute Tasks Across Agents on Jenkins
To set up [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution), you can copy and paste the workflow below: To set up [Distributed Task Execution (DTE)](/ci/features/distribute-task-execution), you can copy and paste the workflow below:
```groovy ```groovy
pipeline { pipeline {

View File

@ -47,7 +47,7 @@ Run the command `npx create-nx-workspace@latest` and when prompted, provide the
✔ Enable distributed caching to make your CI faster · Yes ✔ Enable distributed caching to make your CI faster · Yes
``` ```
{% card title="Opting into Nx Cloud" description="You will also be prompted whether to add Nx Cloud to your workspace. We won't address this in this tutorial, but you can see the introduction to Nx Cloud for more details." url="/nx-cloud/intro/ci-with-nx" /%} {% card title="Opting into Nx Cloud" description="You will also be prompted whether to add Nx Cloud to your workspace. We won't address this in this tutorial, but you can see the introduction to Nx Cloud for more details." url="/ci/intro/ci-with-nx" /%}
The `node-standalone` preset automatically creates a `products-api` application at the root of the workspace and an `e2e` project that runs against it. The `node-standalone` preset automatically creates a `products-api` application at the root of the workspace and an `e2e` project that runs against it.

View File

@ -835,8 +835,8 @@ Here's some more things you can dive into next:
- [Learn how to setup Tailwind](/recipes/react/using-tailwind-css-in-react) - [Learn how to setup Tailwind](/recipes/react/using-tailwind-css-in-react)
- [Setup Storybook for our shared UI library](/recipes/storybook/overview-react) - [Setup Storybook for our shared UI library](/recipes/storybook/overview-react)
- [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr)] - [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr)]
- [Speed up CI: Share your cache](/nx-cloud/features/remote-cache)] - [Speed up CI: Share your cache](/ci/features/remote-cache)]
- [Speed up CI: Distribute your tasks across machines](/nx-cloud/features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/ci/features/distribute-task-execution)
Also, make sure you Also, make sure you

View File

@ -997,7 +997,7 @@ Learn more about how to [enforce module boundaries](/core-features/enforce-modul
## Setting Up CI ## Setting Up CI
Without adequate tooling, CI times tend to grow exponentially with the size of the codebase. Nx helps decrease the average CI time with the [`affected` command](/nx-cloud/features/affected) and Nx Cloud's [distributed caching](/nx-cloud/features/remote-cache). Nx also [decreases the worst case CI time](/nx-cloud/concepts/dte) with Nx Cloud's distributed task execution. Without adequate tooling, CI times tend to grow exponentially with the size of the codebase. Nx helps decrease the average CI time with the [`affected` command](/ci/features/affected) and Nx Cloud's [distributed caching](/ci/features/remote-cache). Nx also [decreases the worst case CI time](/ci/concepts/dte) with Nx Cloud's distributed task execution.
To set up Nx Cloud run: To set up Nx Cloud run:
@ -1017,7 +1017,7 @@ nx generate ci-workflow --ci=github
You can choose `github`, `circleci`, `azure`, `bitbucket-pipelines`, or `gitlab` for the `ci` flag. You can choose `github`, `circleci`, `azure`, `bitbucket-pipelines`, or `gitlab` for the `ci` flag.
{% /callout %} {% /callout %}
This will create a default CI configuration that sets up Nx Cloud to [use distributed task execution](/nx-cloud/features/distribute-task-execution). This automatically runs all tasks on separate machines in parallel wherever possible, without requiring you to manually coordinate copying the output from one machine to another. This will create a default CI configuration that sets up Nx Cloud to [use distributed task execution](/ci/features/distribute-task-execution). This automatically runs all tasks on separate machines in parallel wherever possible, without requiring you to manually coordinate copying the output from one machine to another.
## Next Steps ## Next Steps
@ -1028,8 +1028,8 @@ Here's some more things you can dive into next:
- [Learn how to setup Tailwind](/recipes/react/using-tailwind-css-in-react) - [Learn how to setup Tailwind](/recipes/react/using-tailwind-css-in-react)
- [Setup Storybook for our shared UI library](/recipes/storybook/overview-react) - [Setup Storybook for our shared UI library](/recipes/storybook/overview-react)
- [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr) - [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr)
- [Speed up CI: Share your cache](/nx-cloud/features/remote-cache) - [Speed up CI: Share your cache](/ci/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/nx-cloud/features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/ci/features/distribute-task-execution)
Also, make sure you Also, make sure you

View File

@ -10,9 +10,9 @@ Because we are not using an Nx plugin for Astro, there are few items we'll have
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Remote Caching{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Remote Caching{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/recipes/enforce-module-boundaries" %}✅ Enforce Project Boundaries{% /pill %} {% pill url="/recipes/enforce-module-boundaries" %}✅ Enforce Project Boundaries{% /pill %}

View File

@ -6,9 +6,9 @@ Because we are using an Nx plugin for Deno, all the features of Nx are available
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -6,9 +6,9 @@ Because we are using an Nx plugin for .NET, all the features of Nx are available
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -6,9 +6,9 @@ Because we are using an Nx plugin for Express, all the features of Nx are availa
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -11,9 +11,9 @@ Because we are using an Nx plugin for Fastify, all the features of Nx are availa
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -10,9 +10,9 @@ Because we are not using an Nx plugin for Lit, there are few items we'll have to
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -10,9 +10,9 @@ Because we are not using an Nx plugin for Nuxt, there are few items we'll have t
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Remote Caching{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Remote Caching{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/recipes/enforce-module-boundaries" %}✅ Enforce Project Boundaries{% /pill %} {% pill url="/recipes/enforce-module-boundaries" %}✅ Enforce Project Boundaries{% /pill %}

View File

@ -10,9 +10,9 @@ We'll be using an Nx Plugin for Qwik called [qwik-nx](https://github.com/qwikifi
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -11,9 +11,9 @@ called [@monodon/rust](https://github.com/cammisuli/monodon/tree/main/packages/r
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -12,9 +12,9 @@ updating any framework dependencies as needed.
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -10,9 +10,9 @@ Because we are not using a Nx plugin for Svelte, there are a few items we'll hav
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -14,9 +14,9 @@ We'll be using an Nx plugin called [@nx/vite](/nx-api/vite). Although we are usi
{% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %} {% pill url="/core-features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %} {% pill url="/core-features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/nx-cloud/features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %} {% pill url="/core-features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/nx-cloud/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %} {% pill url="/core-features/integrate-with-editors" %}✅ Integrate with Editors{% /pill %}
{% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %} {% pill url="/core-features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %} {% pill url="/core-features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}

View File

@ -18,7 +18,7 @@ Run the following command with the options listed to create an empty workspace.
✔ Enable distributed caching to make your CI faster · Yes ✔ Enable distributed caching to make your CI faster · Yes
``` ```
{% card title="Opting into Nx Cloud" description="You will also be prompted whether to add Nx Cloud to your workspace. We won't address this in this recipe, but you can see the introduction to Nx Cloud for more details." url="/nx-cloud/intro/ci-with-nx" /%} {% card title="Opting into Nx Cloud" description="You will also be prompted whether to add Nx Cloud to your workspace. We won't address this in this recipe, but you can see the introduction to Nx Cloud for more details." url="/ci/intro/ci-with-nx" /%}
### Install your framework plugin ### Install your framework plugin

View File

@ -1,6 +1,6 @@
# Running Custom Commands # Running Custom Commands
You can easily run any command with the Nx toolchain. The main benefit is to make the [operation cacheable](/concepts/how-caching-works), [distributable](/nx-cloud/features/distribute-task-execution) as well as being able to use it [with Nx's affected commands](/nx-cloud/features/affected). You can easily run any command with the Nx toolchain. The main benefit is to make the [operation cacheable](/concepts/how-caching-works), [distributable](/ci/features/distribute-task-execution) as well as being able to use it [with Nx's affected commands](/ci/features/affected).
## 1. Define the terminal command to be run ## 1. Define the terminal command to be run
@ -53,7 +53,7 @@ You can also run the `make` command for all projects it has been defined on:
nx run-many -t make nx run-many -t make
``` ```
Or just on a subset of projects that are [affected by a given change](/nx-cloud/features/affected): Or just on a subset of projects that are [affected by a given change](/ci/features/affected):
```shell ```shell
nx affected -t make nx affected -t make

View File

@ -37,4 +37,4 @@ Nx will set the following environment variables so they can be accessible within
| NX_DRY_RUN | boolean | Set to `true` during dry runs of generators. Use this to avoid side effects during generators. | | NX_DRY_RUN | boolean | Set to `true` during dry runs of generators. Use this to avoid side effects during generators. |
| NX_INTERACTIVE | boolean | Set to `false` when running generators with `--interactive=false`. Use this to prevent prompting during generators | | NX_INTERACTIVE | boolean | Set to `false` when running generators with `--interactive=false`. Use this to prevent prompting during generators |
When using distributed caching, [Nx Cloud Environment Variables](/nx-cloud/reference/env-vars) are also available. When using distributed caching, [Nx Cloud Environment Variables](/ci/reference/env-vars) are also available.

View File

@ -62,13 +62,13 @@ A set of preconfigured options for a [target](#target) that should be enabled al
A [cache](#cache) that can be shared between all developers using the repo and the CI system. A [cache](#cache) that can be shared between all developers using the repo and the CI system.
> See: [Share Your Cache](/nx-cloud/features/remote-cache) > See: [Share Your Cache](/ci/features/remote-cache)
### Distributed Task Execution ### Distributed Task Execution
A system for running [tasks](#task) in CI across multiple agent processes in the most efficient way possible. A system for running [tasks](#task) in CI across multiple agent processes in the most efficient way possible.
> See: [Distribute Task Execution](/nx-cloud/features/distribute-task-execution) > See: [Distribute Task Execution](/ci/features/distribute-task-execution)
### Executor ### Executor
@ -120,7 +120,7 @@ A [project](#project) that is located in a sub-folder of another project. This w
A service that provides [distributed caching](#distributed-cache) and [distributed task execution](#distributed-task-execution). A service that provides [distributed caching](#distributed-cache) and [distributed task execution](#distributed-task-execution).
> See: [CI with Nx](/nx-cloud/intro/ci-with-nx) > See: [CI with Nx](/ci/intro/ci-with-nx)
### Package ### Package

View File

@ -261,57 +261,57 @@
- [Create an Install Package](/extending-nx/recipes/create-install-package) - [Create an Install Package](/extending-nx/recipes/create-install-package)
- [Modify the Project Graph](/extending-nx/recipes/project-graph-plugins) - [Modify the Project Graph](/extending-nx/recipes/project-graph-plugins)
- Cloud - Ci
- [Intro](/nx-cloud/intro) - [Intro](/ci/intro)
- [CI with Nx](/nx-cloud/intro/ci-with-nx) - [CI with Nx](/ci/intro/ci-with-nx)
- [Tutorials](/nx-cloud/intro/tutorials) - [Tutorials](/ci/intro/tutorials)
- [Circle CI with Nx](/nx-cloud/intro/tutorials/circle) - [Circle CI with Nx](/ci/intro/tutorials/circle)
- [GitHub Actions with Nx](/nx-cloud/intro/tutorials/github-actions) - [GitHub Actions with Nx](/ci/intro/tutorials/github-actions)
- [Features](/nx-cloud/features) - [Features](/ci/features)
- [Use Remote Caching](/nx-cloud/features/remote-cache) - [Use Remote Caching](/ci/features/remote-cache)
- [Run Only Tasks Affected by a PR](/nx-cloud/features/affected) - [Run Only Tasks Affected by a PR](/ci/features/affected)
- [Distribute Task Execution](/nx-cloud/features/distribute-task-execution) - [Distribute Task Execution](/ci/features/distribute-task-execution)
- [Set up Nx Cloud On-Premise](/nx-cloud/features/on-premise) - [Set up Nx Cloud On-Premise](/ci/features/on-premise)
- [Nx Cloud Workflows](/nx-cloud/features/nx-cloud-workflows) - [Nx Cloud Workflows](/ci/features/nx-cloud-workflows)
- [Concepts](/nx-cloud/concepts) - [Concepts](/ci/concepts)
- [Reduce Waste in CI](/nx-cloud/concepts/reduce-waste) - [Reduce Waste in CI](/ci/concepts/reduce-waste)
- [Improve Worst Case CI Times](/nx-cloud/concepts/dte) - [Improve Worst Case CI Times](/ci/concepts/dte)
- [Security Scenarios](/nx-cloud/concepts/scenarios) - [Security Scenarios](/ci/concepts/scenarios)
- [End to End Encryption](/nx-cloud/concepts/encryption) - [End to End Encryption](/ci/concepts/encryption)
- [Recipes](/nx-cloud/recipes) - [Recipes](/ci/recipes)
- [Set Up CI](/nx-cloud/recipes/set-up) - [Set Up CI](/ci/recipes/set-up)
- [Setting up Azure Pipelines](/nx-cloud/recipes/set-up/monorepo-ci-azure) - [Setting up Azure Pipelines](/ci/recipes/set-up/monorepo-ci-azure)
- [Setting up CircleCI](/nx-cloud/recipes/set-up/monorepo-ci-circle-ci) - [Setting up CircleCI](/ci/recipes/set-up/monorepo-ci-circle-ci)
- [Setting up GitHub Actions](/nx-cloud/recipes/set-up/monorepo-ci-github-actions) - [Setting up GitHub Actions](/ci/recipes/set-up/monorepo-ci-github-actions)
- [Setting up Jenkins](/nx-cloud/recipes/set-up/monorepo-ci-jenkins) - [Setting up Jenkins](/ci/recipes/set-up/monorepo-ci-jenkins)
- [Setting up GitLab](/nx-cloud/recipes/set-up/monorepo-ci-gitlab) - [Setting up GitLab](/ci/recipes/set-up/monorepo-ci-gitlab)
- [Setting up Bitbucket](/nx-cloud/recipes/set-up/monorepo-ci-bitbucket-pipelines) - [Setting up Bitbucket](/ci/recipes/set-up/monorepo-ci-bitbucket-pipelines)
- [Security](/nx-cloud/recipes/security) - [Security](/ci/recipes/security)
- [Authenticate with Google Identity](/nx-cloud/recipes/security/google-auth) - [Authenticate with Google Identity](/ci/recipes/security/google-auth)
- [Access Tokens](/nx-cloud/recipes/security/access-tokens) - [Access Tokens](/ci/recipes/security/access-tokens)
- [Source Control Integration](/nx-cloud/recipes/source-control-integration) - [Source Control Integration](/ci/recipes/source-control-integration)
- [Enable GitHub PR Integration](/nx-cloud/recipes/source-control-integration/github) - [Enable GitHub PR Integration](/ci/recipes/source-control-integration/github)
- [Enable Bitbucket Cloud PR Integration](/nx-cloud/recipes/source-control-integration/bitbucket-cloud) - [Enable Bitbucket Cloud PR Integration](/ci/recipes/source-control-integration/bitbucket-cloud)
- [Enable GitLab MR Integration](/nx-cloud/recipes/source-control-integration/gitlab) - [Enable GitLab MR Integration](/ci/recipes/source-control-integration/gitlab)
- [On-Premise](/nx-cloud/recipes/on-premise) - [On-Premise](/ci/recipes/on-premise)
- [Authenticate with a Single Admin](/nx-cloud/recipes/on-premise/auth-single-admin) - [Authenticate with a Single Admin](/ci/recipes/on-premise/auth-single-admin)
- [Authenticate with GitHub](/nx-cloud/recipes/on-premise/auth-github) - [Authenticate with GitHub](/ci/recipes/on-premise/auth-github)
- [On-Prem VM Setup](/nx-cloud/recipes/on-premise/ami-setup) - [On-Prem VM Setup](/ci/recipes/on-premise/ami-setup)
- [Authenticate with GitLab](/nx-cloud/recipes/on-premise/auth-gitlab) - [Authenticate with GitLab](/ci/recipes/on-premise/auth-gitlab)
- [Authenticate with BitBucket](/nx-cloud/recipes/on-premise/auth-bitbucket) - [Authenticate with BitBucket](/ci/recipes/on-premise/auth-bitbucket)
- [Authenticate via SAML](/nx-cloud/recipes/on-premise/auth-saml) - [Authenticate via SAML](/ci/recipes/on-premise/auth-saml)
- [Authenticate via SAML on Managed Version](/nx-cloud/recipes/on-premise/auth-saml-managed) - [Authenticate via SAML on Managed Version](/ci/recipes/on-premise/auth-saml-managed)
- [Advanced Configuration](/nx-cloud/recipes/on-premise/advanced-config) - [Advanced Configuration](/ci/recipes/on-premise/advanced-config)
- [Other](/nx-cloud/recipes/other) - [Other](/ci/recipes/other)
- [Record Non-Nx Commands](/nx-cloud/recipes/other/record-commands) - [Record Non-Nx Commands](/ci/recipes/other/record-commands)
- [Prepare applications for deployment via CI](/nx-cloud/recipes/other/ci-deployment) - [Prepare applications for deployment via CI](/ci/recipes/other/ci-deployment)
- [Reference](/nx-cloud/reference) - [Reference](/ci/reference)
- [Configuration Options](/nx-cloud/reference/config) - [Configuration Options](/ci/reference/config)
- [nx-cloud CLI](/nx-cloud/reference/nx-cloud-cli) - [nx-cloud CLI](/ci/reference/nx-cloud-cli)
- [Environment Variables](/nx-cloud/reference/env-vars) - [Environment Variables](/ci/reference/env-vars)
- [Server API Reference](/nx-cloud/reference/server-api) - [Server API Reference](/ci/reference/server-api)
- [Release Notes](/nx-cloud/reference/release-notes) - [Release Notes](/ci/reference/release-notes)
- Nx-api - Nx-api
- [angular](/nx-api/angular) - [angular](/nx-api/angular)

View File

@ -835,8 +835,8 @@ Here's some more things you can dive into next:
- Learn more about the [underlying mental model of Nx](/concepts/mental-model) - Learn more about the [underlying mental model of Nx](/concepts/mental-model)
- [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr) - [Speed up CI: Run only tasks for project that got changed](/core-features/run-tasks#run-tasks-affected-by-a-pr)
- [Speed up CI: Share your cache](/nx-cloud/features/remote-cache) - [Speed up CI: Share your cache](/ci/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/nx-cloud/features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/ci/features/distribute-task-execution)
Also, make sure you Also, make sure you

View File

@ -24,7 +24,7 @@ export function DocViewer({
const router = useRouter(); const router = useRouter();
const hideTableOfContent = const hideTableOfContent =
router.asPath.includes('/getting-started/intro') || router.asPath.includes('/getting-started/intro') ||
router.asPath.includes('/nx-cloud/intro/ci-with-nx') || router.asPath.includes('/ci/intro/ci-with-nx') ||
router.asPath.includes('/extending-nx/intro/getting-started') || router.asPath.includes('/extending-nx/intro/getting-started') ||
router.asPath.includes('/nx-api/devkit') || router.asPath.includes('/nx-api/devkit') ||
router.asPath.includes('/reference/glossary'); router.asPath.includes('/reference/glossary');

View File

@ -4,79 +4,79 @@ import { test, expect } from '@playwright/test';
const pages: Array<{ title: string; path: string }> = [ const pages: Array<{ title: string; path: string }> = [
{ {
title: 'Continuous Integration with Nx', title: 'Continuous Integration with Nx',
path: '/nx-cloud/intro/ci-with-nx', path: '/ci/intro/ci-with-nx',
}, },
{ {
title: 'Recording Non-Nx Commands', title: 'Recording Non-Nx Commands',
path: '/nx-cloud/recipes/other/record-commands', path: '/ci/recipes/other/record-commands',
}, },
{ {
title: 'Enable GitHub PR Integration', title: 'Enable GitHub PR Integration',
path: '/nx-cloud/recipes/source-control-integration/github', path: '/ci/recipes/source-control-integration/github',
}, },
{ {
title: 'Connecting Nx Cloud to your existing Google identity provider', title: 'Connecting Nx Cloud to your existing Google identity provider',
path: '/nx-cloud/recipes/security/google-auth', path: '/ci/recipes/security/google-auth',
}, },
{ {
title: 'Access Tokens', title: 'Access Tokens',
path: '/nx-cloud/recipes/security/access-tokens', path: '/ci/recipes/security/access-tokens',
}, },
{ {
title: 'Security Scenarios', title: 'Security Scenarios',
path: '/nx-cloud/concepts/scenarios', path: '/ci/concepts/scenarios',
}, },
{ {
title: 'End to End Encryption', title: 'End to End Encryption',
path: '/nx-cloud/concepts/encryption', path: '/ci/concepts/encryption',
}, },
{ {
title: 'Running Nx Cloud Enterprise', title: 'Running Nx Cloud Enterprise',
path: '/nx-cloud/private-cloud/get-started', path: '/ci/features/on-premise',
}, },
{ {
title: 'Auth (Basic)', title: 'Auth (Basic)',
path: '/nx-cloud/private-cloud/auth-single-admin', path: '/ci/recipes/on-premise/auth-single-admin',
}, },
{ {
title: 'GitHub Auth', title: 'GitHub Auth',
path: '/nx-cloud/private-cloud/auth-github', path: '/ci/recipes/on-premise/auth-github',
}, },
{ {
title: 'GitLab Auth', title: 'GitLab Auth',
path: '/nx-cloud/private-cloud/auth-gitlab', path: '/ci/recipes/on-premise/auth-gitlab',
}, },
{ {
title: 'Setting up a dedicated NxCloud VM', title: 'Setting up a dedicated NxCloud VM',
path: '/nx-cloud/private-cloud/ami-setup', path: '/ci/recipes/on-premise/ami-setup',
}, },
{ {
title: 'BitBucket Auth', title: 'BitBucket Auth',
path: '/nx-cloud/private-cloud/auth-bitbucket', path: '/ci/recipes/on-premise/auth-bitbucket',
}, },
{ {
title: 'SAML Auth', title: 'SAML Auth',
path: '/nx-cloud/private-cloud/auth-saml', path: '/ci/recipes/on-premise/auth-saml',
}, },
{ {
title: 'Advanced Configuration', title: 'Advanced Configuration',
path: '/nx-cloud/private-cloud/advanced-config', path: '/ci/recipes/on-premise/advanced-config',
}, },
{ {
title: 'Configuring the Cloud Runner / Nx CLI', title: 'Configuring the Cloud Runner / Nx CLI',
path: '/nx-cloud/reference/config', path: '/ci/reference/config',
}, },
{ {
title: 'Environment Variables', title: 'Environment Variables',
path: '/nx-cloud/reference/env-vars', path: '/ci/reference/env-vars',
}, },
{ {
title: 'Nx Cloud Server API Reference', title: 'Nx Cloud Server API Reference',
path: '/nx-cloud/reference/server-api', path: '/ci/reference/server-api',
}, },
{ {
title: 'Enterprise Release Notes', title: 'Enterprise Release Notes',
path: '/nx-cloud/reference/release-notes', path: '/ci/reference/release-notes',
}, },
]; ];

View File

@ -5,11 +5,11 @@ import {
// Imports JSON directly, so they can be bundled into the app and functions. // Imports JSON directly, so they can be bundled into the app and functions.
// Also provides some test safety. // Also provides some test safety.
import documents from '../public/documentation/generated/manifests/cloud.json'; import documents from '../public/documentation/generated/manifests/ci.json';
import tags from '../public/documentation/generated/manifests/tags.json'; import tags from '../public/documentation/generated/manifests/tags.json';
export const nxCloudApi = new DocumentsApi({ export const ciApi = new DocumentsApi({
id: 'cloud', id: 'ci',
manifest: documents, manifest: documents,
prefix: '', prefix: '',
publicDocsRoot: 'public/documentation', publicDocsRoot: 'public/documentation',

View File

@ -76,7 +76,7 @@ export default function NxDocumentation({
} }
export const getStaticPaths: GetStaticPaths = () => { export const getStaticPaths: GetStaticPaths = () => {
const reservedPaths = ['/nx-cloud', '/nx-api', '/changelog']; const reservedPaths = ['/ci', '/nx-api', '/changelog'];
return { return {
paths: nxDocumentationApi paths: nxDocumentationApi
.getSlugsStaticDocumentPaths() .getSlugsStaticDocumentPaths()

View File

@ -6,7 +6,7 @@ import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common';
import { GetStaticPaths, GetStaticProps } from 'next'; import { GetStaticPaths, GetStaticProps } from 'next';
import { useRouter } from 'next/router'; import { useRouter } from 'next/router';
import { useEffect, useRef } from 'react'; import { useEffect, useRef } from 'react';
import { nxCloudApi } from '../../lib/cloud.api'; import { ciApi } from '../../lib/ci.api';
import { menusApi } from '../../lib/menus.api'; import { menusApi } from '../../lib/menus.api';
import { useNavToggle } from '../../lib/navigation-toggle.effect'; import { useNavToggle } from '../../lib/navigation-toggle.effect';
import { tagsApi } from '../../lib/tags.api'; import { tagsApi } from '../../lib/tags.api';
@ -85,7 +85,7 @@ export default function Pages({
export const getStaticPaths: GetStaticPaths = () => { export const getStaticPaths: GetStaticPaths = () => {
return { return {
paths: nxCloudApi.getSlugsStaticDocumentPaths(), paths: ciApi.getSlugsStaticDocumentPaths(),
fallback: 'blocking', fallback: 'blocking',
}; };
}; };
@ -95,8 +95,8 @@ export const getStaticProps: GetStaticProps = async ({
params: { segments: string[] }; params: { segments: string[] };
}) => { }) => {
try { try {
const segments = ['nx-cloud', ...params.segments]; const segments = ['ci', ...params.segments];
const document = nxCloudApi.getDocument(segments); const document = ciApi.getDocument(segments);
return { return {
props: { props: {
document, document,
@ -106,7 +106,7 @@ export const getStaticProps: GetStaticProps = async ({
relatedDocuments: tagsApi relatedDocuments: tagsApi
.getAssociatedItemsFromTags(document.tags) .getAssociatedItemsFromTags(document.tags)
.filter((item) => item.path !== '/' + segments.join('/')), // Remove currently displayed item .filter((item) => item.path !== '/' + segments.join('/')), // Remove currently displayed item
menu: menusApi.getMenu('cloud', ''), menu: menusApi.getMenu('ci', ''),
}, },
}; };
} catch (e) { } catch (e) {

View File

@ -6,7 +6,7 @@ import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common';
import { GetStaticProps } from 'next'; import { GetStaticProps } from 'next';
import { useRouter } from 'next/router'; import { useRouter } from 'next/router';
import { useEffect, useRef } from 'react'; import { useEffect, useRef } from 'react';
import { nxCloudApi } from '../../lib/cloud.api'; import { ciApi } from '../../lib/ci.api';
import { menusApi } from '../../lib/menus.api'; import { menusApi } from '../../lib/menus.api';
import { useNavToggle } from '../../lib/navigation-toggle.effect'; import { useNavToggle } from '../../lib/navigation-toggle.effect';
import { tagsApi } from '../../lib/tags.api'; import { tagsApi } from '../../lib/tags.api';
@ -84,9 +84,9 @@ export default function CloudRoot({
} }
export const getStaticProps: GetStaticProps = async () => { export const getStaticProps: GetStaticProps = async () => {
const document = nxCloudApi.generateRootDocumentIndex({ const document = ciApi.generateRootDocumentIndex({
name: 'cloud', name: 'ci',
description: 'Learn about Nx Cloud.', description: 'Learn about using Nx in CI',
}); });
return { return {
props: { props: {
@ -94,7 +94,7 @@ export const getStaticProps: GetStaticProps = async () => {
widgetData: { widgetData: {
githubStarsCount: await fetchGithubStarCount(), githubStarsCount: await fetchGithubStarCount(),
}, },
menu: menusApi.getMenu('cloud', ''), menu: menusApi.getMenu('ci', ''),
relatedDocuments: document.tags relatedDocuments: document.tags
.map((t) => tagsApi.getAssociatedItems(t)) .map((t) => tagsApi.getAssociatedItems(t))
.flat(), .flat(),

View File

@ -394,13 +394,13 @@ const nxCloudUrls = {
'/nx-cloud/set-up/add-nx-cloud': '/core-features/remote-cache', '/nx-cloud/set-up/add-nx-cloud': '/core-features/remote-cache',
'/nx-cloud/set-up/set-up-caching': '/core-features/remote-cache', '/nx-cloud/set-up/set-up-caching': '/core-features/remote-cache',
'/nx-cloud/set-up/set-up-dte': '/core-features/distribute-task-execution', '/nx-cloud/set-up/set-up-dte': '/core-features/distribute-task-execution',
'/nx-cloud/private-cloud/standalone': '/nx-cloud/private-cloud/ami-setup', '/nx-cloud/private-cloud/standalone': '/ci/private-cloud/ami-setup',
'/nx-cloud/private-cloud/kubernetes-setup': '/nx-cloud/private-cloud/kubernetes-setup':
'/nx-cloud/private-cloud/get-started', '/nx-cloud/private-cloud/get-started',
'/recipes/ci': '/nx-cloud/recipes', '/recipes/ci': '/ci/recipes',
'/recipes/ci/ci-setup': '/nx-cloud/recipes/set-up', '/recipes/ci/ci-setup': '/ci/recipes/set-up',
'/nx-cloud/recipes/set-up/ci-setup': '/nx-cloud/recipes/set-up', '/nx-cloud/recipes/set-up/ci-setup': '/ci/recipes/set-up',
'/recipes/ci/monorepo-ci-azure': '/nx-cloud/recipes/set-up/monorepo-ci-azure', '/recipes/ci/monorepo-ci-azure': '/ci/recipes/set-up/monorepo-ci-azure',
'/recipes/ci/monorepo-ci-circle-ci': '/recipes/ci/monorepo-ci-circle-ci':
'/nx-cloud/recipes/set-up/monorepo-ci-circle-ci', '/nx-cloud/recipes/set-up/monorepo-ci-circle-ci',
'/recipes/ci/monorepo-ci-github-action': '/recipes/ci/monorepo-ci-github-action':
@ -411,43 +411,44 @@ const nxCloudUrls = {
'/nx-cloud/recipes/set-up/monorepo-ci-gitlab', '/nx-cloud/recipes/set-up/monorepo-ci-gitlab',
'/recipes/ci/monorepo-ci-bitbucket-pipelines': '/recipes/ci/monorepo-ci-bitbucket-pipelines':
'/nx-cloud/recipes/set-up/monorepo-ci-bitbucket-pipelines', '/nx-cloud/recipes/set-up/monorepo-ci-bitbucket-pipelines',
'/recipes/ci/ci-deployment': '/nx-cloud/recipes/other/ci-deployment', '/recipes/ci/ci-deployment': '/ci/recipes/other/ci-deployment',
'/nx-cloud/intro/what-is-nx-cloud': '/nx-cloud/intro/ci-with-nx', '/nx-cloud/intro/what-is-nx-cloud': '/ci/intro/ci-with-nx',
'/nx-cloud/set-up': '/nx-cloud/recipes/set-up', '/nx-cloud/set-up': '/ci/recipes/set-up',
'/nx-cloud/set-up/record-commands': '/nx-cloud/recipes/other/record-commands', '/nx-cloud/set-up/record-commands': '/ci/recipes/other/record-commands',
'/nx-cloud/set-up/github': '/nx-cloud/set-up/github':
'/nx-cloud/recipes/source-control-integration/github', '/nx-cloud/recipes/source-control-integration/github',
'/nx-cloud/set-up/bitbucket-cloud': '/nx-cloud/set-up/bitbucket-cloud':
'/nx-cloud/recipes/source-control-integration/bitbucket-cloud', '/nx-cloud/recipes/source-control-integration/bitbucket-cloud',
'/nx-cloud/set-up/gitlab': '/nx-cloud/set-up/gitlab':
'/nx-cloud/recipes/source-control-integration/gitlab', '/nx-cloud/recipes/source-control-integration/gitlab',
'/core-features/remote-cache': '/nx-cloud/features/remote-cache', '/core-features/remote-cache': '/ci/features/remote-cache',
'/core-features/distribute-task-execution': '/core-features/distribute-task-execution':
'/nx-cloud/features/distribute-task-execution', '/nx-cloud/features/distribute-task-execution',
'/concepts/affected': '/nx-cloud/features/affected', '/concepts/affected': '/ci/features/affected',
'/nx-cloud/private-cloud': '/nx-cloud/recipes/on-premise', '/nx-cloud/private-cloud': '/ci/recipes/on-premise',
'/nx-cloud/private-cloud/get-started': '/nx-cloud/features/on-premise', '/nx-cloud/private-cloud/get-started': '/ci/features/on-premise',
'/nx-cloud/private-cloud/auth-single-admin': '/nx-cloud/private-cloud/auth-single-admin':
'/nx-cloud/recipes/on-premise/auth-single-admin', '/nx-cloud/recipes/on-premise/auth-single-admin',
'/nx-cloud/private-cloud/auth-github': '/nx-cloud/private-cloud/auth-github':
'/nx-cloud/recipes/on-premise/auth-github', '/nx-cloud/recipes/on-premise/auth-github',
'/nx-cloud/private-cloud/ami-setup': '/nx-cloud/recipes/on-premise/ami-setup', '/nx-cloud/private-cloud/ami-setup': '/ci/recipes/on-premise/ami-setup',
'/nx-cloud/private-cloud/auth-gitlab': '/nx-cloud/private-cloud/auth-gitlab':
'/nx-cloud/recipes/on-premise/auth-gitlab', '/nx-cloud/recipes/on-premise/auth-gitlab',
'/nx-cloud/private-cloud/auth-bitbucket': '/nx-cloud/private-cloud/auth-bitbucket':
'/nx-cloud/recipes/on-premise/auth-bitbucket', '/nx-cloud/recipes/on-premise/auth-bitbucket',
'/nx-cloud/private-cloud/auth-saml': '/nx-cloud/recipes/on-premise/auth-saml', '/nx-cloud/private-cloud/auth-saml': '/ci/recipes/on-premise/auth-saml',
'/nx-cloud/private-cloud/auth-saml-managed': '/nx-cloud/private-cloud/auth-saml-managed':
'/nx-cloud/recipes/on-premise/auth-saml-managed', '/nx-cloud/recipes/on-premise/auth-saml-managed',
'/nx-cloud/private-cloud/advanced-config': '/nx-cloud/private-cloud/advanced-config':
'/nx-cloud/recipes/on-premise/advanced-config', '/nx-cloud/recipes/on-premise/advanced-config',
'/concepts/dte': '/nx-cloud/concepts/dte', '/concepts/dte': '/ci/concepts/dte',
'/nx-cloud/intro/nx-cloud-workflows': '/nx-cloud/features/nx-cloud-workflows', '/nx-cloud/intro/nx-cloud-workflows': '/ci/features/nx-cloud-workflows',
'/nx-cloud/account': '/nx-cloud/recipes/security', '/nx-cloud/account': '/ci/recipes/security',
'/nx-cloud/account/google-auth': '/nx-cloud/recipes/security/google-auth', '/nx-cloud/account/google-auth': '/ci/recipes/security/google-auth',
'/nx-cloud/account/access-tokens': '/nx-cloud/recipes/security/access-tokens', '/nx-cloud/account/access-tokens': '/ci/recipes/security/access-tokens',
'/nx-cloud/account/scenarios': '/nx-cloud/concepts/scenarios', '/nx-cloud/account/scenarios': '/ci/concepts/scenarios',
'/nx-cloud/account/encryption': '/nx-cloud/concepts/encryption', '/nx-cloud/account/encryption': '/ci/concepts/encryption',
'/nx-cloud/:path*': '/ci/:path*',
}; };
/** /**

View File

@ -40,14 +40,14 @@ export function DocumentationHeader({
}): JSX.Element { }): JSX.Element {
const router = useRouter(); const router = useRouter();
let routerPath = router.asPath; let routerPath = router.asPath;
const isNxCloud: boolean = routerPath.startsWith('/nx-cloud'); const isCI: boolean = routerPath.startsWith('/ci');
const isAPI: boolean = routerPath.startsWith('/nx-api'); const isAPI: boolean = routerPath.startsWith('/nx-api');
const isExtendingNx: boolean = routerPath.startsWith('/extending-nx'); const isExtendingNx: boolean = routerPath.startsWith('/extending-nx');
const isPlugins: boolean = routerPath.startsWith('/plugin-registry'); const isPlugins: boolean = routerPath.startsWith('/plugin-registry');
const isChangelog: boolean = routerPath.startsWith('/changelog'); const isChangelog: boolean = routerPath.startsWith('/changelog');
const isAiChat: boolean = router.asPath.startsWith('/ai-chat'); const isAiChat: boolean = router.asPath.startsWith('/ai-chat');
const isNx: boolean = const isNx: boolean =
!isNxCloud && !isCI &&
!isAPI && !isAPI &&
!isExtendingNx && !isExtendingNx &&
!isPlugins && !isPlugins &&
@ -57,9 +57,9 @@ export function DocumentationHeader({
const sections = [ const sections = [
{ name: 'Nx', href: '/getting-started/intro', current: isNx }, { name: 'Nx', href: '/getting-started/intro', current: isNx },
{ {
name: 'Nx Cloud', name: 'CI',
href: '/nx-cloud/intro/ci-with-nx', href: '/ci/intro/ci-with-nx',
current: isNxCloud, current: isCI,
}, },
{ {
name: 'Extending Nx', name: 'Extending Nx',

View File

@ -49,10 +49,10 @@ export function Header(): JSX.Element {
href: '/nx-api', href: '/nx-api',
}, },
{ {
name: 'Nx Cloud', name: 'CI',
description: description:
'Learn everything about remote cache and distributed tasks configuration.', 'Learn everything about remote cache and distributed tasks configuration.',
href: '/nx-cloud/intro/ci-with-nx', href: '/ci/intro/ci-with-nx',
}, },
]; ];
const flyoutMobileMenu = [ const flyoutMobileMenu = [

View File

@ -177,21 +177,21 @@ export function SidebarMobile({
navIsOpen, navIsOpen,
}: FloatingSidebarProps): JSX.Element { }: FloatingSidebarProps): JSX.Element {
const router = useRouter(); const router = useRouter();
const isNxCloud: boolean = router.asPath.startsWith('/nx-cloud'); const isCI: boolean = router.asPath.startsWith('/ci');
const isAPI: boolean = router.asPath.startsWith('/nx-api'); const isAPI: boolean = router.asPath.startsWith('/nx-api');
const isPlugins: boolean = router.asPath.startsWith('/extending-nx'); const isPlugins: boolean = router.asPath.startsWith('/extending-nx');
const isChangelog: boolean = router.asPath.startsWith('/changelog'); const isChangelog: boolean = router.asPath.startsWith('/changelog');
const isAiChat: boolean = router.asPath.startsWith('/ai-chat'); const isAiChat: boolean = router.asPath.startsWith('/ai-chat');
const isNx: boolean = const isNx: boolean =
!isNxCloud && !isAPI && !isPlugins && !isChangelog && !isAiChat; !isCI && !isAPI && !isPlugins && !isChangelog && !isAiChat;
const sections = [ const sections = [
{ name: 'Home', href: '/', current: false }, { name: 'Home', href: '/', current: false },
{ name: 'Nx', href: '/getting-started/intro', current: isNx }, { name: 'Nx', href: '/getting-started/intro', current: isNx },
{ {
name: 'Nx Cloud', name: 'CI',
href: '/nx-cloud/intro/ci-with-nx', href: '/ci/intro/ci-with-nx',
current: isNxCloud, current: isCI,
}, },
{ {
name: 'Extending Nx', name: 'Extending Nx',

View File

@ -51,4 +51,4 @@ Adding a _ci_ configuration is helpful for adding this behavior.
nx affected --target=test --configuration=ci nx affected --target=test --configuration=ci
``` ```
Learn more [about _affected_](/nx-cloud/features/affected) Learn more [about _affected_](/ci/features/affected)

View File

@ -368,10 +368,10 @@ function createDocumentSections(
prefix: 'extending-nx', prefix: 'extending-nx',
}, },
{ {
name: 'cloud', name: 'ci',
content: documents.find((x) => x.id === 'nx-cloud-documentation')! content: documents.find((x) => x.id === 'ci')!
.itemList as Partial<DocumentMetadata>[], .itemList as Partial<DocumentMetadata>[],
prefix: 'nx-cloud', prefix: 'ci',
}, },
]; ];
} }

View File

@ -19,9 +19,9 @@ const documents: any[] = [
return item; return item;
}), }),
...mapJson ...mapJson
.find((x) => x.id === 'nx-cloud-documentation') .find((x) => x.id === 'ci')
?.['itemList'].map((item) => { ?.['itemList'].map((item) => {
item.sidebarId = 'nx-cloud'; item.sidebarId = 'ci';
return item; return item;
}), }),
].filter(Boolean); ].filter(Boolean);

View File

@ -85,7 +85,7 @@ export async function generateIndexMarkdownFile(
recipes: `/recipes/`, recipes: `/recipes/`,
plugins: `/plugins/`, plugins: `/plugins/`,
packages: `/packages/`, packages: `/packages/`,
cloud: `/nx-cloud/`, ci: `/ci/`,
}; };
const content = json const content = json
.map( .map(

View File

@ -15,7 +15,7 @@ import { toMarkdown } from 'mdast-util-to-markdown';
import { toString } from 'mdast-util-to-string'; import { toString } from 'mdast-util-to-string';
import { u } from 'unist-builder'; import { u } from 'unist-builder';
import mapJson from '../../../../docs/map.json' assert { type: 'json' }; import mapJson from '../../../../docs/map.json' assert { type: 'json' };
import manifestsCloud from '../../../../docs/generated/manifests/cloud.json' assert { type: 'json' }; import manifestsCI from '../../../../docs/generated/manifests/ci.json' assert { type: 'json' };
import manifestsExtending from '../../../../docs/generated/manifests/extending-nx.json' assert { type: 'json' }; import manifestsExtending from '../../../../docs/generated/manifests/extending-nx.json' assert { type: 'json' };
import manifestsNx from '../../../../docs/generated/manifests/nx.json' assert { type: 'json' }; import manifestsNx from '../../../../docs/generated/manifests/nx.json' assert { type: 'json' };
import manifestsPackages from '../../../../docs/generated/manifests/nx-api.json' assert { type: 'json' }; import manifestsPackages from '../../../../docs/generated/manifests/nx-api.json' assert { type: 'json' };
@ -195,7 +195,7 @@ async function generateEmbeddings() {
allFilesPaths = [ allFilesPaths = [
...allFilesPaths, ...allFilesPaths,
...getAllFilesFromMapJson(mapJson), ...getAllFilesFromMapJson(mapJson),
...getAllFilesWithItemList(manifestsCloud), ...getAllFilesWithItemList(manifestsCI),
...getAllFilesWithItemList(manifestsExtending), ...getAllFilesWithItemList(manifestsExtending),
...getAllFilesWithItemList(manifestsPackages), ...getAllFilesWithItemList(manifestsPackages),
...getAllFilesWithItemList(manifestsTags), ...getAllFilesWithItemList(manifestsTags),