docs(core): nx cloud features section (#20043)

This commit is contained in:
Isaac Mann 2023-11-07 08:40:29 -05:00 committed by GitHub
parent 60cb992173
commit 457bbcbe57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
58 changed files with 1096 additions and 687 deletions

View File

@ -50,6 +50,97 @@
"path": "/nx-cloud/intro/nx-cloud-workflows", "path": "/nx-cloud/intro/nx-cloud-workflows",
"tags": [] "tags": []
}, },
"/nx-cloud/features": {
"id": "features",
"name": "Features",
"description": "Features of Nx and Nx Cloud that improve CI",
"file": "",
"itemList": [
{
"id": "remote-cache",
"name": "Use Remote Caching",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"file": "shared/core-features/remote-cache",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/remote-cache",
"tags": ["remote-cache"]
},
{
"id": "affected",
"name": "Run Only Tasks Affected by a PR",
"description": "",
"file": "shared/using-nx/affected",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/affected",
"tags": ["run-tasks"]
},
{
"id": "distribute-task-execution",
"name": "Distribute Task Execution",
"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",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/distribute-task-execution",
"tags": ["distribute-task-execution"]
},
{
"id": "on-premise",
"name": "Set up Nx Cloud On-Premise",
"description": "Set up Nx Cloud on machines that you control",
"file": "nx-cloud/private/get-started",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/on-premise",
"tags": ["on-premise"]
}
],
"isExternal": false,
"path": "/nx-cloud/features",
"tags": []
},
"/nx-cloud/features/remote-cache": {
"id": "remote-cache",
"name": "Use Remote Caching",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"file": "shared/core-features/remote-cache",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/remote-cache",
"tags": ["remote-cache"]
},
"/nx-cloud/features/affected": {
"id": "affected",
"name": "Run Only Tasks Affected by a PR",
"description": "",
"file": "shared/using-nx/affected",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/affected",
"tags": ["run-tasks"]
},
"/nx-cloud/features/distribute-task-execution": {
"id": "distribute-task-execution",
"name": "Distribute Task Execution",
"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",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/distribute-task-execution",
"tags": ["distribute-task-execution"]
},
"/nx-cloud/features/on-premise": {
"id": "on-premise",
"name": "Set up Nx Cloud On-Premise",
"description": "Set up Nx Cloud on machines that you control",
"file": "nx-cloud/private/get-started",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/features/on-premise",
"tags": ["on-premise"]
},
"/nx-cloud/recipes": { "/nx-cloud/recipes": {
"id": "recipes", "id": "recipes",
"name": "Recipes", "name": "Recipes",
@ -140,7 +231,7 @@
{ {
"id": "source-control-integration", "id": "source-control-integration",
"name": "Source Control Integration", "name": "Source Control Integration",
"description": "Learn how to set up Nx Cloud for your workspace.", "description": "Show Nx Cloud results directly in your pull request",
"file": "", "file": "",
"itemList": [ "itemList": [
{ {
@ -178,6 +269,97 @@
"path": "/nx-cloud/recipes/source-control-integration", "path": "/nx-cloud/recipes/source-control-integration",
"tags": [] "tags": []
}, },
{
"id": "on-premise",
"name": "On-Premise",
"description": "Manage an on-premise installation of Nx Cloud",
"file": "",
"itemList": [
{
"id": "auth-single-admin",
"name": "Authenticate with a Single Admin",
"description": "",
"file": "nx-cloud/private/auth-single-admin",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-single-admin",
"tags": []
},
{
"id": "auth-github",
"name": "Authenticate with GitHub",
"description": "",
"file": "nx-cloud/private/auth-github",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-github",
"tags": []
},
{
"id": "ami-setup",
"name": "On-Prem VM Setup",
"description": "",
"file": "nx-cloud/private/ami-setup",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/ami-setup",
"tags": []
},
{
"id": "auth-gitlab",
"name": "Authenticate with GitLab",
"description": "",
"file": "nx-cloud/private/auth-gitlab",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-gitlab",
"tags": []
},
{
"id": "auth-bitbucket",
"name": "Authenticate with BitBucket",
"description": "",
"file": "nx-cloud/private/auth-bitbucket",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket",
"tags": []
},
{
"id": "auth-saml",
"name": "Authenticate via SAML",
"description": "",
"file": "nx-cloud/private/auth-saml",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-saml",
"tags": []
},
{
"id": "auth-saml-managed",
"name": "Authenticate via SAML on Managed Version",
"description": "",
"file": "nx-cloud/private/auth-saml-managed",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed",
"tags": []
},
{
"id": "advanced-config",
"name": "Advanced Configuration",
"description": "",
"file": "nx-cloud/private/advanced-config",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/advanced-config",
"tags": []
}
],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise",
"tags": []
},
{ {
"id": "other", "id": "other",
"name": "Other", "name": "Other",
@ -368,7 +550,7 @@
"/nx-cloud/recipes/source-control-integration": { "/nx-cloud/recipes/source-control-integration": {
"id": "source-control-integration", "id": "source-control-integration",
"name": "Source Control Integration", "name": "Source Control Integration",
"description": "Learn how to set up Nx Cloud for your workspace.", "description": "Show Nx Cloud results directly in your pull request",
"file": "", "file": "",
"itemList": [ "itemList": [
{ {
@ -436,6 +618,177 @@
"path": "/nx-cloud/recipes/source-control-integration/gitlab", "path": "/nx-cloud/recipes/source-control-integration/gitlab",
"tags": [] "tags": []
}, },
"/nx-cloud/recipes/on-premise": {
"id": "on-premise",
"name": "On-Premise",
"description": "Manage an on-premise installation of Nx Cloud",
"file": "",
"itemList": [
{
"id": "auth-single-admin",
"name": "Authenticate with a Single Admin",
"description": "",
"file": "nx-cloud/private/auth-single-admin",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-single-admin",
"tags": []
},
{
"id": "auth-github",
"name": "Authenticate with GitHub",
"description": "",
"file": "nx-cloud/private/auth-github",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-github",
"tags": []
},
{
"id": "ami-setup",
"name": "On-Prem VM Setup",
"description": "",
"file": "nx-cloud/private/ami-setup",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/ami-setup",
"tags": []
},
{
"id": "auth-gitlab",
"name": "Authenticate with GitLab",
"description": "",
"file": "nx-cloud/private/auth-gitlab",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-gitlab",
"tags": []
},
{
"id": "auth-bitbucket",
"name": "Authenticate with BitBucket",
"description": "",
"file": "nx-cloud/private/auth-bitbucket",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket",
"tags": []
},
{
"id": "auth-saml",
"name": "Authenticate via SAML",
"description": "",
"file": "nx-cloud/private/auth-saml",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-saml",
"tags": []
},
{
"id": "auth-saml-managed",
"name": "Authenticate via SAML on Managed Version",
"description": "",
"file": "nx-cloud/private/auth-saml-managed",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed",
"tags": []
},
{
"id": "advanced-config",
"name": "Advanced Configuration",
"description": "",
"file": "nx-cloud/private/advanced-config",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/advanced-config",
"tags": []
}
],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise",
"tags": []
},
"/nx-cloud/recipes/on-premise/auth-single-admin": {
"id": "auth-single-admin",
"name": "Authenticate with a Single Admin",
"description": "",
"file": "nx-cloud/private/auth-single-admin",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-single-admin",
"tags": []
},
"/nx-cloud/recipes/on-premise/auth-github": {
"id": "auth-github",
"name": "Authenticate with GitHub",
"description": "",
"file": "nx-cloud/private/auth-github",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-github",
"tags": []
},
"/nx-cloud/recipes/on-premise/ami-setup": {
"id": "ami-setup",
"name": "On-Prem VM Setup",
"description": "",
"file": "nx-cloud/private/ami-setup",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/ami-setup",
"tags": []
},
"/nx-cloud/recipes/on-premise/auth-gitlab": {
"id": "auth-gitlab",
"name": "Authenticate with GitLab",
"description": "",
"file": "nx-cloud/private/auth-gitlab",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-gitlab",
"tags": []
},
"/nx-cloud/recipes/on-premise/auth-bitbucket": {
"id": "auth-bitbucket",
"name": "Authenticate with BitBucket",
"description": "",
"file": "nx-cloud/private/auth-bitbucket",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket",
"tags": []
},
"/nx-cloud/recipes/on-premise/auth-saml": {
"id": "auth-saml",
"name": "Authenticate via SAML",
"description": "",
"file": "nx-cloud/private/auth-saml",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-saml",
"tags": []
},
"/nx-cloud/recipes/on-premise/auth-saml-managed": {
"id": "auth-saml-managed",
"name": "Authenticate via SAML on Managed Version",
"description": "",
"file": "nx-cloud/private/auth-saml-managed",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed",
"tags": []
},
"/nx-cloud/recipes/on-premise/advanced-config": {
"id": "advanced-config",
"name": "Advanced Configuration",
"description": "",
"file": "nx-cloud/private/advanced-config",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/recipes/on-premise/advanced-config",
"tags": []
},
"/nx-cloud/recipes/other": { "/nx-cloud/recipes/other": {
"id": "other", "id": "other",
"name": "Other", "name": "Other",
@ -598,197 +951,6 @@
"path": "/nx-cloud/account/encryption", "path": "/nx-cloud/account/encryption",
"tags": [] "tags": []
}, },
"/nx-cloud/private-cloud": {
"id": "private-cloud",
"name": "Run Nx Cloud On-Premise",
"description": "Learn about Running Nx Cloud On-Premise",
"file": "",
"itemList": [
{
"id": "get-started",
"name": "Get Started",
"description": "",
"file": "nx-cloud/private/get-started",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/get-started",
"tags": []
},
{
"id": "auth-single-admin",
"name": "Authenticate with a Single Admin",
"description": "",
"file": "nx-cloud/private/auth-single-admin",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-single-admin",
"tags": []
},
{
"id": "auth-github",
"name": "Authenticate with GitHub",
"description": "",
"file": "nx-cloud/private/auth-github",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-github",
"tags": []
},
{
"id": "ami-setup",
"name": "On-Prem VM Setup",
"description": "",
"file": "nx-cloud/private/ami-setup",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/ami-setup",
"tags": []
},
{
"id": "auth-gitlab",
"name": "Authenticate with GitLab",
"description": "",
"file": "nx-cloud/private/auth-gitlab",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-gitlab",
"tags": []
},
{
"id": "auth-bitbucket",
"name": "Authenticate with BitBucket",
"description": "",
"file": "nx-cloud/private/auth-bitbucket",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-bitbucket",
"tags": []
},
{
"id": "auth-saml",
"name": "Authenticate via SAML",
"description": "",
"file": "nx-cloud/private/auth-saml",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-saml",
"tags": []
},
{
"id": "auth-saml-managed",
"name": "Authenticate via SAML on Managed Version",
"description": "",
"file": "nx-cloud/private/auth-saml-managed",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-saml-managed",
"tags": []
},
{
"id": "advanced-config",
"name": "Advanced Configuration",
"description": "",
"file": "nx-cloud/private/advanced-config",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/advanced-config",
"tags": []
}
],
"isExternal": false,
"path": "/nx-cloud/private-cloud",
"tags": []
},
"/nx-cloud/private-cloud/get-started": {
"id": "get-started",
"name": "Get Started",
"description": "",
"file": "nx-cloud/private/get-started",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/get-started",
"tags": []
},
"/nx-cloud/private-cloud/auth-single-admin": {
"id": "auth-single-admin",
"name": "Authenticate with a Single Admin",
"description": "",
"file": "nx-cloud/private/auth-single-admin",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-single-admin",
"tags": []
},
"/nx-cloud/private-cloud/auth-github": {
"id": "auth-github",
"name": "Authenticate with GitHub",
"description": "",
"file": "nx-cloud/private/auth-github",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-github",
"tags": []
},
"/nx-cloud/private-cloud/ami-setup": {
"id": "ami-setup",
"name": "On-Prem VM Setup",
"description": "",
"file": "nx-cloud/private/ami-setup",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/ami-setup",
"tags": []
},
"/nx-cloud/private-cloud/auth-gitlab": {
"id": "auth-gitlab",
"name": "Authenticate with GitLab",
"description": "",
"file": "nx-cloud/private/auth-gitlab",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-gitlab",
"tags": []
},
"/nx-cloud/private-cloud/auth-bitbucket": {
"id": "auth-bitbucket",
"name": "Authenticate with BitBucket",
"description": "",
"file": "nx-cloud/private/auth-bitbucket",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-bitbucket",
"tags": []
},
"/nx-cloud/private-cloud/auth-saml": {
"id": "auth-saml",
"name": "Authenticate via SAML",
"description": "",
"file": "nx-cloud/private/auth-saml",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-saml",
"tags": []
},
"/nx-cloud/private-cloud/auth-saml-managed": {
"id": "auth-saml-managed",
"name": "Authenticate via SAML on Managed Version",
"description": "",
"file": "nx-cloud/private/auth-saml-managed",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/auth-saml-managed",
"tags": []
},
"/nx-cloud/private-cloud/advanced-config": {
"id": "advanced-config",
"name": "Advanced Configuration",
"description": "",
"file": "nx-cloud/private/advanced-config",
"itemList": [],
"isExternal": false,
"path": "/nx-cloud/private-cloud/advanced-config",
"tags": []
},
"/nx-cloud/reference": { "/nx-cloud/reference": {
"id": "reference", "id": "reference",
"name": "Reference", "name": "Reference",

View File

@ -592,17 +592,17 @@
}, },
{ {
"name": "Use Remote Caching", "name": "Use Remote Caching",
"path": "/core-features/remote-cache", "path": "/nx-cloud/features/remote-cache",
"id": "remote-cache", "id": "remote-cache",
"isExternal": false, "isExternal": true,
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"path": "/core-features/distribute-task-execution", "path": "/nx-cloud/features/distribute-task-execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"isExternal": false, "isExternal": true,
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
@ -684,17 +684,17 @@
}, },
{ {
"name": "Use Remote Caching", "name": "Use Remote Caching",
"path": "/core-features/remote-cache", "path": "/nx-cloud/features/remote-cache",
"id": "remote-cache", "id": "remote-cache",
"isExternal": false, "isExternal": true,
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"path": "/core-features/distribute-task-execution", "path": "/nx-cloud/features/distribute-task-execution",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"isExternal": false, "isExternal": true,
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
@ -817,14 +817,6 @@
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
{
"name": "How Affected Works",
"path": "/concepts/affected",
"id": "affected",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{ {
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps", "name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
"path": "/concepts/integrated-vs-package-based", "path": "/concepts/integrated-vs-package-based",
@ -1062,14 +1054,6 @@
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
{
"name": "How Affected Works",
"path": "/concepts/affected",
"id": "affected",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{ {
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps", "name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
"path": "/concepts/integrated-vs-package-based", "path": "/concepts/integrated-vs-package-based",
@ -5592,6 +5576,79 @@
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
{
"name": "Features",
"path": "/nx-cloud/features",
"id": "features",
"isExternal": false,
"children": [
{
"name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache",
"id": "remote-cache",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Run Only Tasks Affected by a PR",
"path": "/nx-cloud/features/affected",
"id": "affected",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution",
"id": "distribute-task-execution",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Set up Nx Cloud On-Premise",
"path": "/nx-cloud/features/on-premise",
"id": "on-premise",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
},
{
"name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache",
"id": "remote-cache",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Run Only Tasks Affected by a PR",
"path": "/nx-cloud/features/affected",
"id": "affected",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution",
"id": "distribute-task-execution",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Set up Nx Cloud On-Premise",
"path": "/nx-cloud/features/on-premise",
"id": "on-premise",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{ {
"name": "Recipes", "name": "Recipes",
"path": "/nx-cloud/recipes", "path": "/nx-cloud/recipes",
@ -5696,6 +5753,79 @@
], ],
"disableCollapsible": false "disableCollapsible": false
}, },
{
"name": "On-Premise",
"path": "/nx-cloud/recipes/on-premise",
"id": "on-premise",
"isExternal": false,
"children": [
{
"name": "Authenticate with a Single Admin",
"path": "/nx-cloud/recipes/on-premise/auth-single-admin",
"id": "auth-single-admin",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitHub",
"path": "/nx-cloud/recipes/on-premise/auth-github",
"id": "auth-github",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "On-Prem VM Setup",
"path": "/nx-cloud/recipes/on-premise/ami-setup",
"id": "ami-setup",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitLab",
"path": "/nx-cloud/recipes/on-premise/auth-gitlab",
"id": "auth-gitlab",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with BitBucket",
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket",
"id": "auth-bitbucket",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML",
"path": "/nx-cloud/recipes/on-premise/auth-saml",
"id": "auth-saml",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed",
"id": "auth-saml-managed",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Advanced Configuration",
"path": "/nx-cloud/recipes/on-premise/advanced-config",
"id": "advanced-config",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
},
{ {
"name": "Other", "name": "Other",
"path": "/nx-cloud/recipes/other", "path": "/nx-cloud/recipes/other",
@ -5902,6 +6032,143 @@
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
{
"name": "On-Premise",
"path": "/nx-cloud/recipes/on-premise",
"id": "on-premise",
"isExternal": false,
"children": [
{
"name": "Authenticate with a Single Admin",
"path": "/nx-cloud/recipes/on-premise/auth-single-admin",
"id": "auth-single-admin",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitHub",
"path": "/nx-cloud/recipes/on-premise/auth-github",
"id": "auth-github",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "On-Prem VM Setup",
"path": "/nx-cloud/recipes/on-premise/ami-setup",
"id": "ami-setup",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitLab",
"path": "/nx-cloud/recipes/on-premise/auth-gitlab",
"id": "auth-gitlab",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with BitBucket",
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket",
"id": "auth-bitbucket",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML",
"path": "/nx-cloud/recipes/on-premise/auth-saml",
"id": "auth-saml",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed",
"id": "auth-saml-managed",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Advanced Configuration",
"path": "/nx-cloud/recipes/on-premise/advanced-config",
"id": "advanced-config",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
},
{
"name": "Authenticate with a Single Admin",
"path": "/nx-cloud/recipes/on-premise/auth-single-admin",
"id": "auth-single-admin",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitHub",
"path": "/nx-cloud/recipes/on-premise/auth-github",
"id": "auth-github",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "On-Prem VM Setup",
"path": "/nx-cloud/recipes/on-premise/ami-setup",
"id": "ami-setup",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitLab",
"path": "/nx-cloud/recipes/on-premise/auth-gitlab",
"id": "auth-gitlab",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with BitBucket",
"path": "/nx-cloud/recipes/on-premise/auth-bitbucket",
"id": "auth-bitbucket",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML",
"path": "/nx-cloud/recipes/on-premise/auth-saml",
"id": "auth-saml",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/recipes/on-premise/auth-saml-managed",
"id": "auth-saml-managed",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Advanced Configuration",
"path": "/nx-cloud/recipes/on-premise/advanced-config",
"id": "advanced-config",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{ {
"name": "Other", "name": "Other",
"path": "/nx-cloud/recipes/other", "path": "/nx-cloud/recipes/other",
@ -6032,159 +6299,6 @@
"children": [], "children": [],
"disableCollapsible": false "disableCollapsible": false
}, },
{
"name": "Run Nx Cloud On-Premise",
"path": "/nx-cloud/private-cloud",
"id": "private-cloud",
"isExternal": false,
"children": [
{
"name": "Get Started",
"path": "/nx-cloud/private-cloud/get-started",
"id": "get-started",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with a Single Admin",
"path": "/nx-cloud/private-cloud/auth-single-admin",
"id": "auth-single-admin",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitHub",
"path": "/nx-cloud/private-cloud/auth-github",
"id": "auth-github",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "On-Prem VM Setup",
"path": "/nx-cloud/private-cloud/ami-setup",
"id": "ami-setup",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitLab",
"path": "/nx-cloud/private-cloud/auth-gitlab",
"id": "auth-gitlab",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with BitBucket",
"path": "/nx-cloud/private-cloud/auth-bitbucket",
"id": "auth-bitbucket",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML",
"path": "/nx-cloud/private-cloud/auth-saml",
"id": "auth-saml",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/private-cloud/auth-saml-managed",
"id": "auth-saml-managed",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Advanced Configuration",
"path": "/nx-cloud/private-cloud/advanced-config",
"id": "advanced-config",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
},
{
"name": "Get Started",
"path": "/nx-cloud/private-cloud/get-started",
"id": "get-started",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with a Single Admin",
"path": "/nx-cloud/private-cloud/auth-single-admin",
"id": "auth-single-admin",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitHub",
"path": "/nx-cloud/private-cloud/auth-github",
"id": "auth-github",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "On-Prem VM Setup",
"path": "/nx-cloud/private-cloud/ami-setup",
"id": "ami-setup",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with GitLab",
"path": "/nx-cloud/private-cloud/auth-gitlab",
"id": "auth-gitlab",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate with BitBucket",
"path": "/nx-cloud/private-cloud/auth-bitbucket",
"id": "auth-bitbucket",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML",
"path": "/nx-cloud/private-cloud/auth-saml",
"id": "auth-saml",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Authenticate via SAML on Managed Version",
"path": "/nx-cloud/private-cloud/auth-saml-managed",
"id": "auth-saml-managed",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Advanced Configuration",
"path": "/nx-cloud/private-cloud/advanced-config",
"id": "advanced-config",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{ {
"name": "Reference", "name": "Reference",
"path": "/nx-cloud/reference", "path": "/nx-cloud/reference",

View File

@ -734,22 +734,22 @@
{ {
"id": "remote-cache", "id": "remote-cache",
"name": "Use Remote Caching", "name": "Use Remote Caching",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.", "description": "",
"file": "shared/core-features/remote-cache", "file": "",
"itemList": [], "itemList": [],
"isExternal": false, "isExternal": true,
"path": "/core-features/remote-cache", "path": "/nx-cloud/features/remote-cache",
"tags": ["remote-cache"] "tags": []
}, },
{ {
"id": "distribute-task-execution", "id": "distribute-task-execution",
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"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": "",
"file": "shared/core-features/distribute-task-execution", "file": "",
"itemList": [], "itemList": [],
"isExternal": false, "isExternal": true,
"path": "/core-features/distribute-task-execution", "path": "/nx-cloud/features/distribute-task-execution",
"tags": ["distribute-task-execution"] "tags": []
}, },
{ {
"id": "explore-graph", "id": "explore-graph",
@ -847,25 +847,25 @@
"path": "/core-features/cache-task-results", "path": "/core-features/cache-task-results",
"tags": ["cache-task-results"] "tags": ["cache-task-results"]
}, },
"/core-features/remote-cache": { "/nx-cloud/features/remote-cache": {
"id": "remote-cache", "id": "remote-cache",
"name": "Use Remote Caching", "name": "Use Remote Caching",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.", "description": "",
"file": "shared/core-features/remote-cache", "file": "",
"itemList": [], "itemList": [],
"isExternal": false, "isExternal": true,
"path": "/core-features/remote-cache", "path": "/nx-cloud/features/remote-cache",
"tags": ["remote-cache"] "tags": []
}, },
"/core-features/distribute-task-execution": { "/nx-cloud/features/distribute-task-execution": {
"id": "distribute-task-execution", "id": "distribute-task-execution",
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"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": "",
"file": "shared/core-features/distribute-task-execution", "file": "",
"itemList": [], "itemList": [],
"isExternal": false, "isExternal": true,
"path": "/core-features/distribute-task-execution", "path": "/nx-cloud/features/distribute-task-execution",
"tags": ["distribute-task-execution"] "tags": []
}, },
"/core-features/explore-graph": { "/core-features/explore-graph": {
"id": "explore-graph", "id": "explore-graph",
@ -1014,16 +1014,6 @@
"path": "/concepts/task-pipeline-configuration", "path": "/concepts/task-pipeline-configuration",
"tags": ["run-tasks", "use-task-executors"] "tags": ["run-tasks", "use-task-executors"]
}, },
{
"id": "affected",
"name": "How Affected Works",
"description": "",
"file": "shared/using-nx/affected",
"itemList": [],
"isExternal": false,
"path": "/concepts/affected",
"tags": ["run-tasks"]
},
{ {
"id": "integrated-vs-package-based", "id": "integrated-vs-package-based",
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps", "name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
@ -1326,16 +1316,6 @@
"path": "/concepts/task-pipeline-configuration", "path": "/concepts/task-pipeline-configuration",
"tags": ["run-tasks", "use-task-executors"] "tags": ["run-tasks", "use-task-executors"]
}, },
"/concepts/affected": {
"id": "affected",
"name": "How Affected Works",
"description": "",
"file": "shared/using-nx/affected",
"itemList": [],
"isExternal": false,
"path": "/concepts/affected",
"tags": ["run-tasks"]
},
"/concepts/integrated-vs-package-based": { "/concepts/integrated-vs-package-based": {
"id": "integrated-vs-package-based", "id": "integrated-vs-package-based",
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps", "name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",

View File

@ -14,13 +14,6 @@
"name": "What is a Task Pipeline", "name": "What is a Task Pipeline",
"path": "/concepts/task-pipeline-configuration" "path": "/concepts/task-pipeline-configuration"
}, },
{
"description": "",
"file": "shared/using-nx/affected",
"id": "affected",
"name": "How Affected Works",
"path": "/concepts/affected"
},
{ {
"description": "", "description": "",
"file": "shared/recipes/running-tasks/customizing-inputs", "file": "shared/recipes/running-tasks/customizing-inputs",
@ -63,6 +56,13 @@
"name": "Workspace Watching", "name": "Workspace Watching",
"path": "/recipes/running-tasks/workspace-watching" "path": "/recipes/running-tasks/workspace-watching"
}, },
{
"description": "",
"file": "shared/using-nx/affected",
"id": "affected",
"name": "Run Only Tasks Affected by a PR",
"path": "/nx-cloud/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.",
"file": "generated/packages/generated/packages/nx/documents/run", "file": "generated/packages/generated/packages/nx/documents/run",
@ -171,59 +171,6 @@
"path": "/nx-api/nx/documents/reset" "path": "/nx-api/nx/documents/reset"
} }
], ],
"remote-cache": [
{
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"file": "shared/core-features/remote-cache",
"id": "remote-cache",
"name": "Use Remote Caching",
"path": "/core-features/remote-cache"
}
],
"distribute-task-execution": [
{
"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",
"id": "distribute-task-execution",
"name": "Distribute Task Execution",
"path": "/core-features/distribute-task-execution"
},
{
"description": "",
"file": "shared/concepts/improve-worst-case-ci-times",
"id": "dte",
"name": "Improve Worst Case CI Times",
"path": "/concepts/dte"
},
{
"description": "",
"file": "shared/concepts/illustrated-dte-guide",
"id": "illustrated-dte",
"name": "Illustrated Distributed Task Execution",
"path": "/concepts/more-concepts/illustrated-dte"
},
{
"description": "",
"file": "",
"id": "nx-cloud-documentation",
"name": "Nx Cloud Documentation",
"path": "/nx-cloud/intro/ci-with-nx"
},
{
"description": "",
"file": "shared/ci-overview",
"id": "ci-setup",
"name": "CI Setup",
"path": "/nx-cloud/recipes/set-up/ci-setup"
},
{
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/generated/packages/nx/documents/connect-to-nx-cloud",
"id": "connect-to-nx-cloud",
"name": "connect-to-nx-cloud",
"path": "/nx-api/nx/documents/connect-to-nx-cloud"
}
],
"explore-graph": [ "explore-graph": [
{ {
"description": "Nx uses a graph behind the scenes to optimize your operations. You can also visualize and use the graph to better understand your workspace structure. Learn more in this guide.", "description": "Nx uses a graph behind the scenes to optimize your operations. You can also visualize and use the graph to better understand your workspace structure. Learn more in this guide.",
@ -637,6 +584,50 @@
"path": "/concepts/integrated-vs-package-based" "path": "/concepts/integrated-vs-package-based"
} }
], ],
"distribute-task-execution": [
{
"description": "",
"file": "shared/concepts/improve-worst-case-ci-times",
"id": "dte",
"name": "Improve Worst Case CI Times",
"path": "/concepts/dte"
},
{
"description": "",
"file": "shared/concepts/illustrated-dte-guide",
"id": "illustrated-dte",
"name": "Illustrated Distributed Task Execution",
"path": "/concepts/more-concepts/illustrated-dte"
},
{
"description": "",
"file": "",
"id": "nx-cloud-documentation",
"name": "Nx Cloud Documentation",
"path": "/nx-cloud/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.",
"file": "shared/core-features/distribute-task-execution",
"id": "distribute-task-execution",
"name": "Distribute Task Execution",
"path": "/nx-cloud/features/distribute-task-execution"
},
{
"description": "",
"file": "shared/ci-overview",
"id": "ci-setup",
"name": "CI Setup",
"path": "/nx-cloud/recipes/set-up/ci-setup"
},
{
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/generated/packages/nx/documents/connect-to-nx-cloud",
"id": "connect-to-nx-cloud",
"name": "connect-to-nx-cloud",
"path": "/nx-api/nx/documents/connect-to-nx-cloud"
}
],
"repository-types": [ "repository-types": [
{ {
"description": "", "description": "",
@ -1156,6 +1147,24 @@
"path": "/showcase/example-repos/serverless-fastify-planetscale" "path": "/showcase/example-repos/serverless-fastify-planetscale"
} }
], ],
"remote-cache": [
{
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"file": "shared/core-features/remote-cache",
"id": "remote-cache",
"name": "Use Remote Caching",
"path": "/nx-cloud/features/remote-cache"
}
],
"on-premise": [
{
"description": "Set up Nx Cloud on machines that you control",
"file": "nx-cloud/private/get-started",
"id": "on-premise",
"name": "Set up Nx Cloud On-Premise",
"path": "/nx-cloud/features/on-premise"
}
],
"docker": [ "docker": [
{ {
"description": "", "description": "",

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_](/concepts/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_](/nx-cloud/features/affected)\n"
}, },
"description": "Run Jest unit tests.", "description": "Run Jest unit tests.",
"aliases": [], "aliases": [],

View File

@ -204,17 +204,17 @@
}, },
{ {
"name": "Use Remote Caching", "name": "Use Remote Caching",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"id": "remote-cache", "id": "remote-cache",
"tags": ["remote-cache"], "file": "",
"file": "shared/core-features/remote-cache" "path": "/nx-cloud/features/remote-cache",
"isExternal": true
}, },
{ {
"name": "Distribute Task Execution", "name": "Distribute Task Execution",
"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.",
"id": "distribute-task-execution", "id": "distribute-task-execution",
"tags": ["distribute-task-execution"], "file": "",
"file": "shared/core-features/distribute-task-execution" "path": "/nx-cloud/features/distribute-task-execution",
"isExternal": true
}, },
{ {
"name": "Explore the Graph", "name": "Explore the Graph",
@ -300,12 +300,6 @@
"id": "task-pipeline-configuration", "id": "task-pipeline-configuration",
"file": "shared/concepts/task-pipeline-configuration" "file": "shared/concepts/task-pipeline-configuration"
}, },
{
"name": "How Affected Works",
"tags": ["run-tasks"],
"id": "affected",
"file": "shared/using-nx/affected"
},
{ {
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps", "name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
"tags": ["intro", "repository-types"], "tags": ["intro", "repository-types"],
@ -1657,6 +1651,40 @@
} }
] ]
}, },
{
"name": "Features",
"id": "features",
"description": "Features of Nx and Nx Cloud that improve CI",
"itemList": [
{
"name": "Use Remote Caching",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"id": "remote-cache",
"tags": ["remote-cache"],
"file": "shared/core-features/remote-cache"
},
{
"name": "Run Only Tasks Affected by a PR",
"tags": ["run-tasks"],
"id": "affected",
"file": "shared/using-nx/affected"
},
{
"name": "Distribute Task Execution",
"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.",
"id": "distribute-task-execution",
"tags": ["distribute-task-execution"],
"file": "shared/core-features/distribute-task-execution"
},
{
"name": "Set up Nx Cloud On-Premise",
"description": "Set up Nx Cloud on machines that you control",
"id": "on-premise",
"tags": ["on-premise"],
"file": "nx-cloud/private/get-started"
}
]
},
{ {
"name": "Recipes", "name": "Recipes",
"id": "recipes", "id": "recipes",
@ -1708,7 +1736,7 @@
{ {
"name": "Source Control Integration", "name": "Source Control Integration",
"id": "source-control-integration", "id": "source-control-integration",
"description": "Learn how to set up Nx Cloud for your workspace.", "description": "Show Nx Cloud results directly in your pull request",
"itemList": [ "itemList": [
{ {
"name": "Enable GitHub PR Integration", "name": "Enable GitHub PR Integration",
@ -1727,6 +1755,53 @@
} }
] ]
}, },
{
"name": "On-Premise",
"id": "on-premise",
"description": "Manage an on-premise installation of Nx Cloud",
"itemList": [
{
"name": "Authenticate with a Single Admin",
"id": "auth-single-admin",
"file": "nx-cloud/private/auth-single-admin"
},
{
"name": "Authenticate with GitHub",
"id": "auth-github",
"file": "nx-cloud/private/auth-github"
},
{
"name": "On-Prem VM Setup",
"id": "ami-setup",
"file": "nx-cloud/private/ami-setup"
},
{
"name": "Authenticate with GitLab",
"id": "auth-gitlab",
"file": "nx-cloud/private/auth-gitlab"
},
{
"name": "Authenticate with BitBucket",
"id": "auth-bitbucket",
"file": "nx-cloud/private/auth-bitbucket"
},
{
"name": "Authenticate via SAML",
"id": "auth-saml",
"file": "nx-cloud/private/auth-saml"
},
{
"name": "Authenticate via SAML on Managed Version",
"id": "auth-saml-managed",
"file": "nx-cloud/private/auth-saml-managed"
},
{
"name": "Advanced Configuration",
"id": "advanced-config",
"file": "nx-cloud/private/advanced-config"
}
]
},
{ {
"name": "Other", "name": "Other",
"id": "other", "id": "other",
@ -1779,58 +1854,6 @@
} }
] ]
}, },
{
"name": "Run Nx Cloud On-Premise",
"id": "private-cloud",
"description": "Learn about Running Nx Cloud On-Premise",
"itemList": [
{
"name": "Get Started",
"id": "get-started",
"file": "nx-cloud/private/get-started"
},
{
"name": "Authenticate with a Single Admin",
"id": "auth-single-admin",
"file": "nx-cloud/private/auth-single-admin"
},
{
"name": "Authenticate with GitHub",
"id": "auth-github",
"file": "nx-cloud/private/auth-github"
},
{
"name": "On-Prem VM Setup",
"id": "ami-setup",
"file": "nx-cloud/private/ami-setup"
},
{
"name": "Authenticate with GitLab",
"id": "auth-gitlab",
"file": "nx-cloud/private/auth-gitlab"
},
{
"name": "Authenticate with BitBucket",
"id": "auth-bitbucket",
"file": "nx-cloud/private/auth-bitbucket"
},
{
"name": "Authenticate via SAML",
"id": "auth-saml",
"file": "nx-cloud/private/auth-saml"
},
{
"name": "Authenticate via SAML on Managed Version",
"id": "auth-saml-managed",
"file": "nx-cloud/private/auth-saml-managed"
},
{
"name": "Advanced Configuration",
"id": "advanced-config",
"file": "nx-cloud/private/advanced-config"
}
]
},
{ {
"name": "Reference", "name": "Reference",
"id": "reference", "id": "reference",

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](/concepts/affected) by a PR - Test only the code that might have been [affected](/nx-cloud/features/affected) by a PR
- Improve the average CI time with [remote caching](/core-features/remote-cache) - Improve the average CI time with [remote caching](/nx-cloud/features/remote-cache)
- Improve the worst case CI time with [distributed task execution](/core-features/distribute-task-execution) - Improve the worst case CI time with [distributed task execution](/nx-cloud/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

View File

@ -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/private-cloud/auth-single-admin # see here: https://nx.dev/nx-cloud/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/private-cloud/auth-github # see here: https://nx.dev/nx-cloud/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/private-cloud/auth-gitlab # see here: https://nx.dev/nx-cloud/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/private-cloud/auth-bitbucket # see here: https://nx.dev/nx-cloud/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/private-cloud/auth-saml # see here: https://nx.dev/nx-cloud/recipes/on-premise/auth-saml
# samlEntryPoint: 'your_saml_entry_point' # samlEntryPoint: 'your_saml_entry_point'
# samlCert: 'saml_cert' # samlCert: 'saml_cert'
``` ```

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/private-cloud/auth-github) - [GitHub Auth](/nx-cloud/recipes/on-premise/auth-github)
- [GitLab Auth](/nx-cloud/private-cloud/auth-gitlab) - [GitLab Auth](/nx-cloud/recipes/on-premise/auth-gitlab)
- [BitBucket Auth](/nx-cloud/private-cloud/auth-bitbucket) - [BitBucket Auth](/nx-cloud/recipes/on-premise/auth-bitbucket)
- [SAML Auth](/nx-cloud/private-cloud/auth-saml) - [SAML Auth](/nx-cloud/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/private-cloud/ami-setup) for instructions on running NxCloud on Amazon EC2. Refer to our ["Self-contained VM" guide](/nx-cloud/recipes/on-premise/ami-setup) for instructions on running NxCloud on Amazon EC2.
#### Multi-node setup with Kubernetes #### Multi-node setup with Kubernetes
@ -58,10 +58,10 @@ 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](/nx-cloud/recipes/source-control-integration/github)
- [Auth (Basic)](/nx-cloud/private-cloud/auth-single-admin) - [Auth (Basic)](/nx-cloud/recipes/on-premise/auth-single-admin)
- [GitHub Auth](/nx-cloud/private-cloud/auth-github) - [GitHub Auth](/nx-cloud/recipes/on-premise/auth-github)
- [GitLab Auth](/nx-cloud/private-cloud/auth-gitlab) - [GitLab Auth](/nx-cloud/recipes/on-premise/auth-gitlab)
- [BitBucket Auth](/nx-cloud/private-cloud/auth-bitbucket) - [BitBucket Auth](/nx-cloud/recipes/on-premise/auth-bitbucket)
- [SAML Auth](/nx-cloud/private-cloud/auth-saml) - [SAML Auth](/nx-cloud/recipes/on-premise/auth-saml)
- [SAML Auth Managed Cloud](/nx-cloud/private-cloud/auth-saml-managed) - [SAML Auth Managed Cloud](/nx-cloud/recipes/on-premise/auth-saml-managed)
- [Advanced Configuration](/nx-cloud/private-cloud/advanced-config) - [Advanced Configuration](/nx-cloud/recipes/on-premise/advanced-config)

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 whether you want to have the router set up for you, whether to use the Angular Standalone API and which stylesheet format to use - Angular specific questions, such as whether you want to have the router set up for you, whether to use the Angular Standalone API 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](/core-features/remote-cache) which will set up [Nx Cloud](https://nx.app). This is also a prerequisite for enabling [distributed task execution](/core-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](/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).
For the sake of this tutorial, let's respond to all the questions with "yes". For the sake of this tutorial, let's respond to all the questions with "yes".
@ -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](/core-features/remote-cache) - [Speed up CI: Share your cache](/nx-cloud/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/core-features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/nx-cloud/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](/concepts/affected) - [Run only tasks affected by a code change](/nx-cloud/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](/concepts/affected) and Nx Cloud's [distributed caching](/core-features/remote-cache). Nx also [decreases the worst case CI time](/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](/nx-cloud/features/affected) and Nx Cloud's [distributed caching](/nx-cloud/features/remote-cache). Nx also [decreases the worst case CI time](/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](/core-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](/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.
## 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](/core-features/remote-cache) - [Speed up CI: Share your cache](/nx-cloud/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/core-features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/nx-cloud/features/distribute-task-execution)
Also, make sure you Also, make sure you

View File

@ -121,7 +121,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](/core-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](/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.
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

@ -125,7 +125,7 @@ You can enable remote caching by connecting to [Nx Cloud](/nx-cloud). To connect
npx nx connect npx nx connect
``` ```
Learn more about [remote caching](/core-features/remote-cache). Learn more about [remote caching](/nx-cloud/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](/core-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](/nx-cloud/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](/concepts/affected). But neither of these features help with the worst case scenario. When the [affected command](/nx-cloud/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.

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](/concepts/affected). Learn more about the affected command [here](/nx-cloud/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](/concepts/affected) - [Rebuilding What is Affected](/nx-cloud/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](/core-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](/nx-cloud/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](/core-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](/nx-cloud/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](/core-features/remote-cache)). for workspace-specific settings (like the [Nx Cloud token](/nx-cloud/features/remote-cache)).
{% /callout %} {% /callout %}
### Pointing to custom env files ### Pointing to custom env files

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](/core-features/remote-cache) | ❌ | ✅ | | [Distributed Caching](/nx-cloud/features/remote-cache) | ❌ | ✅ |
| [Distributed Task Execution on CI](/core-features/distribute-task-execution) | ❌ | ✅ | | [Distributed Task Execution on CI](/nx-cloud/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](/concepts/affected) - only running tasks on [affected projects](/nx-cloud/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](/core-features/remote-cache) on CI - offering [remote caching abilities](/nx-cloud/features/remote-cache) on CI
- offering [task distribution across machines (DTE)](/core-features/distribute-task-execution) - offering [task distribution across machines (DTE)](/nx-cloud/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](/core-features/remote-cache) - optionally [remote caching with Nx Cloud](/nx-cloud/features/remote-cache)
- optionally [distributed task execution with Nx Cloud](/core-features/distribute-task-execution) - optionally [distributed task execution with Nx Cloud](/nx-cloud/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](/concepts/affected) [Rebuilding and Retesting What is Affected](/nx-cloud/features/affected)

View File

@ -213,7 +213,7 @@ 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](/core-features/remote-cache#skipping-cloud) with `--no-cloud`. | | `--remote-only` | N/A. Can [ignore the remote cache](/nx-cloud/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/account/access-tokens#setting-access-tokens) or as an environment variable (`NX_CLOUD_ACCESS_TOKEN`) | | `--token` | Set the [Nx Cloud token in `nx.json`](/nx-cloud/account/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. |

View File

@ -21,7 +21,7 @@ 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](/concepts/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](/nx-cloud/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](/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](/concepts/dte)

View File

@ -117,7 +117,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](/concepts/affected) - [Rebuilding and Retesting What is Affected](/nx-cloud/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

@ -97,7 +97,7 @@ Finally we extract the result in a common [custom variable](https://learn.micros
## Distributed Task Execution with Nx Cloud ## Distributed Task Execution with Nx Cloud
Read more about [Distributed Task Execution (DTE)](/core-features/distribute-task-execution). Read more about [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution).
```yaml ```yaml
trigger: trigger:

View File

@ -32,7 +32,7 @@ The `pull-requests` and `main` jobs implement the CI workflow.
## Distributed Task Execution ## Distributed Task Execution
This pipeline uses [Distributed Task Execution (DTE)](/core-features/distribute-task-execution) to automatically distribute work across multiple agent processes. This pipeline uses [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution) to automatically distribute work across multiple agent processes.
```yaml ```yaml
image: node:20 image: node:20

View File

@ -36,7 +36,7 @@ It should be a user token, not the project token.
## Distributed Task Execution with Nx Cloud ## Distributed Task Execution with Nx Cloud
Read more about [Distributed Task Execution (DTE)](/core-features/distribute-task-execution). Read more about [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution).
```yaml {% fileName=".circleci/config.yml" %} ```yaml {% fileName=".circleci/config.yml" %}
version: 2.1 version: 2.1

View File

@ -41,7 +41,7 @@ To understand why knowing the last successful build is important for the affecte
## Distributed Task Execution ## Distributed Task Execution
To set up [Distributed Task Execution (DTE)](/core-features/distribute-task-execution), you can run this generator: To set up [Distributed Task Execution (DTE)](/nx-cloud/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

@ -57,7 +57,7 @@ The `build` and `test` jobs implement the CI workflow using `.distributed` as a
## Distributed Task Execution with Nx Cloud ## Distributed Task Execution with Nx Cloud
Read more about [Distributed Task Execution (DTE)](/core-features/distribute-task-execution). Read more about [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution).
```yaml ```yaml
image: node:18 image: node:18

View File

@ -51,7 +51,7 @@ The `pr` and `main` jobs implement the CI workflow.
## Distributed Task Execution with Nx Cloud ## Distributed Task Execution with Nx Cloud
Read more about [Distributed Task Execution (DTE)](/core-features/distribute-task-execution). Read more about [Distributed Task Execution (DTE)](/nx-cloud/features/distribute-task-execution).
```groovy ```groovy
pipeline { pipeline {

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](/core-features/remote-cache)] - [Speed up CI: Share your cache](/nx-cloud/features/remote-cache)]
- [Speed up CI: Distribute your tasks across machines](/core-features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/nx-cloud/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](/concepts/affected) and Nx Cloud's [distributed caching](/core-features/remote-cache). Nx also [decreases the worst case CI time](/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](/nx-cloud/features/affected) and Nx Cloud's [distributed caching](/nx-cloud/features/remote-cache). Nx also [decreases the worst case CI time](/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](/core-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](/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.
## 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](/core-features/remote-cache) - [Speed up CI: Share your cache](/nx-cloud/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/core-features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/nx-cloud/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="/core-features/remote-cache" %}✅ Remote Caching{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Remote Caching{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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="/core-features/remote-cache" %}✅ Share Your Cache{% /pill %} {% pill url="/nx-cloud/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="/core-features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %} {% pill url="/nx-cloud/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

@ -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](/core-features/distribute-task-execution) as well as being able to use it [with Nx's affected commands](/concepts/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](/nx-cloud/features/distribute-task-execution) as well as being able to use it [with Nx's affected commands](/nx-cloud/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](/concepts/affected): Or just on a subset of projects that are [affected by a given change](/nx-cloud/features/affected):
```shell ```shell
nx affected -t make nx affected -t make

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](/core-features/remote-cache) > See: [Share Your Cache](/nx-cloud/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](/core-features/distribute-task-execution) > See: [Distribute Task Execution](/nx-cloud/features/distribute-task-execution)
### Executor ### Executor

View File

@ -36,8 +36,6 @@
- [Core Features](/core-features) - [Core Features](/core-features)
- [Run Tasks](/core-features/run-tasks) - [Run Tasks](/core-features/run-tasks)
- [Cache Task Results](/core-features/cache-task-results) - [Cache Task Results](/core-features/cache-task-results)
- [Use Remote Caching](/core-features/remote-cache)
- [Distribute Task Execution](/core-features/distribute-task-execution)
- [Explore the Graph](/core-features/explore-graph) - [Explore the Graph](/core-features/explore-graph)
- [Automate Updating Dependencies](/core-features/automate-updating-dependencies) - [Automate Updating Dependencies](/core-features/automate-updating-dependencies)
- [Enforce Module Boundaries](/core-features/enforce-module-boundaries) - [Enforce Module Boundaries](/core-features/enforce-module-boundaries)
@ -51,7 +49,6 @@
- [Types of Configuration](/concepts/types-of-configuration) - [Types of Configuration](/concepts/types-of-configuration)
- [Improve Worst Case CI Times](/concepts/dte) - [Improve Worst Case CI Times](/concepts/dte)
- [What is a Task Pipeline](/concepts/task-pipeline-configuration) - [What is a Task Pipeline](/concepts/task-pipeline-configuration)
- [How Affected Works](/concepts/affected)
- [Integrated Repos vs. Package-Based Repos vs. Standalone Apps](/concepts/integrated-vs-package-based) - [Integrated Repos vs. Package-Based Repos vs. Standalone Apps](/concepts/integrated-vs-package-based)
- [Module Federation](/concepts/module-federation) - [Module Federation](/concepts/module-federation)
- [Module Federation and Nx](/concepts/module-federation/module-federation-and-nx) - [Module Federation and Nx](/concepts/module-federation/module-federation-and-nx)
@ -270,6 +267,11 @@
- [Intro](/nx-cloud/intro) - [Intro](/nx-cloud/intro)
- [CI with Nx](/nx-cloud/intro/ci-with-nx) - [CI with Nx](/nx-cloud/intro/ci-with-nx)
- [Nx Cloud Workflows](/nx-cloud/intro/nx-cloud-workflows) - [Nx Cloud Workflows](/nx-cloud/intro/nx-cloud-workflows)
- [Features](/nx-cloud/features)
- [Use Remote Caching](/nx-cloud/features/remote-cache)
- [Run Only Tasks Affected by a PR](/nx-cloud/features/affected)
- [Distribute Task Execution](/nx-cloud/features/distribute-task-execution)
- [Set up Nx Cloud On-Premise](/nx-cloud/features/on-premise)
- [Recipes](/nx-cloud/recipes) - [Recipes](/nx-cloud/recipes)
- [Set Up CI](/nx-cloud/recipes/set-up) - [Set Up CI](/nx-cloud/recipes/set-up)
- [CI Setup](/nx-cloud/recipes/set-up/ci-setup) - [CI Setup](/nx-cloud/recipes/set-up/ci-setup)
@ -283,6 +285,15 @@
- [Enable GitHub PR Integration](/nx-cloud/recipes/source-control-integration/github) - [Enable GitHub PR Integration](/nx-cloud/recipes/source-control-integration/github)
- [Enable Bitbucket Cloud PR Integration](/nx-cloud/recipes/source-control-integration/bitbucket-cloud) - [Enable Bitbucket Cloud PR Integration](/nx-cloud/recipes/source-control-integration/bitbucket-cloud)
- [Enable GitLab MR Integration](/nx-cloud/recipes/source-control-integration/gitlab) - [Enable GitLab MR Integration](/nx-cloud/recipes/source-control-integration/gitlab)
- [On-Premise](/nx-cloud/recipes/on-premise)
- [Authenticate with a Single Admin](/nx-cloud/recipes/on-premise/auth-single-admin)
- [Authenticate with GitHub](/nx-cloud/recipes/on-premise/auth-github)
- [On-Prem VM Setup](/nx-cloud/recipes/on-premise/ami-setup)
- [Authenticate with GitLab](/nx-cloud/recipes/on-premise/auth-gitlab)
- [Authenticate with BitBucket](/nx-cloud/recipes/on-premise/auth-bitbucket)
- [Authenticate via SAML](/nx-cloud/recipes/on-premise/auth-saml)
- [Authenticate via SAML on Managed Version](/nx-cloud/recipes/on-premise/auth-saml-managed)
- [Advanced Configuration](/nx-cloud/recipes/on-premise/advanced-config)
- [Other](/nx-cloud/recipes/other) - [Other](/nx-cloud/recipes/other)
- [Record Non-Nx Commands](/nx-cloud/recipes/other/record-commands) - [Record Non-Nx Commands](/nx-cloud/recipes/other/record-commands)
- [Prepare applications for deployment via CI](/nx-cloud/recipes/other/ci-deployment) - [Prepare applications for deployment via CI](/nx-cloud/recipes/other/ci-deployment)
@ -292,16 +303,6 @@
- [Access Tokens](/nx-cloud/account/access-tokens) - [Access Tokens](/nx-cloud/account/access-tokens)
- [Security Scenarios](/nx-cloud/account/scenarios) - [Security Scenarios](/nx-cloud/account/scenarios)
- [End to End Encryption](/nx-cloud/account/encryption) - [End to End Encryption](/nx-cloud/account/encryption)
- [Run Nx Cloud On-Premise](/nx-cloud/private-cloud)
- [Get Started](/nx-cloud/private-cloud/get-started)
- [Authenticate with a Single Admin](/nx-cloud/private-cloud/auth-single-admin)
- [Authenticate with GitHub](/nx-cloud/private-cloud/auth-github)
- [On-Prem VM Setup](/nx-cloud/private-cloud/ami-setup)
- [Authenticate with GitLab](/nx-cloud/private-cloud/auth-gitlab)
- [Authenticate with BitBucket](/nx-cloud/private-cloud/auth-bitbucket)
- [Authenticate via SAML](/nx-cloud/private-cloud/auth-saml)
- [Authenticate via SAML on Managed Version](/nx-cloud/private-cloud/auth-saml-managed)
- [Advanced Configuration](/nx-cloud/private-cloud/advanced-config)
- [Reference](/nx-cloud/reference) - [Reference](/nx-cloud/reference)
- [Configuration Options](/nx-cloud/reference/config) - [Configuration Options](/nx-cloud/reference/config)
- [nx-cloud CLI](/nx-cloud/reference/nx-cloud-cli) - [nx-cloud CLI](/nx-cloud/reference/nx-cloud-cli)

View File

@ -1,46 +1,136 @@
# How Affected Works # Run Only Tasks Affected by a PR
{% callout type="note" title="First thing!" %} As your workspace grows, re-testing, re-building an re-linting all projects becomes too slow. To address this Nx implements code change analysis to determine the minimum set of projects that were affected by the change. How does this work?
Before reading this guide, [check out the mental model guide](/concepts/mental-model). It will help you understand how computation caching fits into the rest of Nx.
{% /callout %}
When you run `nx test app1`, you are telling Nx to run the app1:test task plus all the tasks it depends on. ```shell
nx affected -t <task>
```
When you run `nx run-many -t test -p app1 lib`, you are telling Nx to do the same for two tasks app1:test When you run `nx affected -t test`, Nx uses Git to determine the files you changed in your PR, it will look at the nature of
and lib:test. change (what exactly did you update in those files), and it uses this to determine the list of projects in the workspace
When you run `nx run-many -t test`, you are telling Nx to do this for all the projects.
As your workspace grows, retesting all projects becomes too slow. To address this Nx implements code change analysis to
get the min set of projects that need to be retested. How does it work?
When you run `nx affected -t test`, Nx looks at the files you changed in your PR, it will look at the nature of
change (what exactly did you update in those files), and it uses this to figure the list of projects in the workspace
that can be affected by this change. It then runs the `run-many` command with that list. that can be affected by this change. It then runs the `run-many` command with that list.
For instance, if my PR changes `lib`, and I then run `nx affected -t test`, Nx figures out that `app1` and `app2` For instance, if my PR changes `lib`, and I then run `nx affected -t test`, Nx figures out that `app1` and `app2`
depend on `lib`, so it will invoke `nx run-many -t test -p app1 app2 lib`. depend on `lib`, so it will invoke `nx run-many -t test -p app1 app2 lib`.
![affected](/shared/mental-model/affected.svg) {% side-by-side %}
{% graph title="Changing app1 can only affect app1" height="250px" %}
```json
{
"projects": [
{
"type": "app",
"name": "app1",
"data": {}
},
{
"type": "app",
"name": "app2",
"data": {}
},
{
"type": "lib",
"name": "lib",
"data": {}
}
],
"groupByFolder": false,
"workspaceLayout": {
"appsDir": "apps",
"libsDir": "libs"
},
"dependencies": {
"app1": [
{
"target": "lib",
"source": "app1",
"type": "direct"
}
],
"app2": [
{
"target": "lib",
"source": "app2",
"type": "direct"
}
],
"lib": []
},
"affectedProjectIds": ["app1"]
}
```
{% /graph %}
{% graph title="Changing lib can affect lib, app1 and app2" height="250px" %}
```json
{
"projects": [
{
"type": "app",
"name": "app1",
"data": {}
},
{
"type": "app",
"name": "app2",
"data": {}
},
{
"type": "lib",
"name": "lib",
"data": {}
}
],
"groupByFolder": false,
"workspaceLayout": {
"appsDir": "apps",
"libsDir": "libs"
},
"dependencies": {
"app1": [
{
"target": "lib",
"source": "app1",
"type": "direct"
}
],
"app2": [
{
"target": "lib",
"source": "app2",
"type": "direct"
}
],
"lib": []
},
"affectedProjectIds": ["app1", "app2", "lib"]
}
```
{% /graph %}
{% /side-by-side %}
Nx analyzes the nature of the changes. For example, if you change the version of Next.js in the package.json, Nx knows Nx analyzes the nature of the changes. For example, if you change the version of Next.js in the package.json, Nx knows
that `app2` cannot be affected by it, so it only retests `app1`. that `app2` cannot be affected by it, so it only retests `app1`.
## Project Graph ## Visualize Affected Projects
To visualise what is affected, run: To visualize what is affected, run:
```shell ```shell
nx affected:graph nx affected:graph
``` ```
## CI ## Specify Which SHAs to Use to Calculate Affected Code
The SHAs you pass must be defined in the git repository. The `main` and `HEAD` SHAs are what you normally use while developing. Most likely you will want to provision other SHAs in your CI environment. The SHAs you pass must be defined in the git repository. The `main` and `HEAD` SHAs are what you normally use while developing. Most likely you will want to provision other SHAs in your CI environment.
```shell ```shell
nx affected:build --base= origin/main --head=$PR_BRANCH_NAME # where PR_BRANCH_NAME is defined by your CI system nx affected:build --base=origin/main --head=$PR_BRANCH_NAME # where PR_BRANCH_NAME is defined by your CI system
nx affected:build --base= origin/main~1 --head= origin/main # rerun what is affected by the last commit in main nx affected:build --base=origin/main~1 --head=origin/main # rerun what is affected by the last commit in main
``` ```
You can also set the base and head SHAs as env variables: You can also set the base and head SHAs as env variables:
@ -50,6 +140,8 @@ NX_BASE=origin/main~1
NX_HEAD=origin/main NX_HEAD=origin/main
``` ```
Typically, you want to set the base SHA not the the most recent commit on the `main` branch, but rather that latest commit that successfully passed in CI. In other words, in order to be certain that the repo is in a good state, we need to check all the changes that have happened since the last time the repo was in a good state. See the setup guide for your CI provider to learn how to calculate the last successful commit.
## Ignoring Files from Affected Commands ## Ignoring Files from Affected Commands
Nx provides two methods to exclude glob patterns (files and folders) from `affected:*` commands. Nx provides two methods to exclude glob patterns (files and folders) from `affected:*` commands.

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](/core-features/remote-cache) - [Speed up CI: Share your cache](/nx-cloud/features/remote-cache)
- [Speed up CI: Distribute your tasks across machines](/core-features/distribute-task-execution) - [Speed up CI: Distribute your tasks across machines](/nx-cloud/features/distribute-task-execution)
Also, make sure you Also, make sure you

View File

@ -81,9 +81,9 @@ export function getBasicNxCloudSection(items: MenuItem[]): MenuSection {
.filter( .filter(
(m) => (m) =>
m.id === 'intro' || m.id === 'intro' ||
m.id === 'features' ||
m.id === 'recipes' || m.id === 'recipes' ||
m.id === 'account' || m.id === 'account' ||
m.id === 'private-cloud' ||
m.id === 'reference' m.id === 'reference'
) )
.map((m) => { .map((m) => {

View File

@ -417,6 +417,26 @@ const nxCloudUrls = {
'/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/distribute-task-execution':
'/nx-cloud/features/distribute-task-execution',
'/concepts/affected': '/nx-cloud/features/affected',
'/nx-cloud/private-cloud': '/nx-cloud/recipes/on-premise',
'/nx-cloud/private-cloud/get-started': '/nx-cloud/features/on-premise',
'/nx-cloud/private-cloud/auth-single-admin':
'/nx-cloud/recipes/on-premise/auth-single-admin',
'/nx-cloud/private-cloud/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/auth-gitlab':
'/nx-cloud/recipes/on-premise/auth-gitlab',
'/nx-cloud/private-cloud/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-managed':
'/nx-cloud/recipes/on-premise/auth-saml-managed',
'/nx-cloud/private-cloud/advanced-config':
'/nx-cloud/recipes/on-premise/advanced-config',
}; };
/** /**

View File

@ -36,11 +36,13 @@ const NxTaskGraphViz = dynamic(
export function Graph({ export function Graph({
height, height,
title,
type, type,
jsonFile, jsonFile,
children, children,
}: { }: {
height: string; height: string;
title: string;
type: 'project' | 'task'; type: 'project' | 'task';
jsonFile?: string; jsonFile?: string;
children: ReactElement; children: ReactElement;
@ -90,6 +92,9 @@ export function Graph({
return ( return (
<div className="my-6 w-full place-content-center overflow-hidden rounded-md ring-1 ring-slate-100 dark:ring-slate-700"> <div className="my-6 w-full place-content-center overflow-hidden rounded-md ring-1 ring-slate-100 dark:ring-slate-700">
<div className="relative flex justify-center p-2 border-b border-slate-200 bg-slate-100/50 dark:border-slate-700 dark:bg-slate-700/50 font-bold">
{title}
</div>
{type === 'project' ? ( {type === 'project' ? (
<NxProjectGraphViz <NxProjectGraphViz
height={height} height={height}

View File

@ -8,6 +8,9 @@ export const graph: Schema = {
jsonFile: { jsonFile: {
type: 'String', type: 'String',
}, },
title: {
type: 'String',
},
type: { type: {
type: 'String', type: 'String',
matches: ['project', 'task'], matches: ['project', 'task'],

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_](/concepts/affected) Learn more [about _affected_](/nx-cloud/features/affected)

View File

@ -54,7 +54,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -119,7 +119,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -180,7 +180,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -241,7 +241,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -302,7 +302,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -363,7 +363,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -428,7 +428,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -489,7 +489,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -554,7 +554,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -619,7 +619,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -684,7 +684,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -745,7 +745,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -810,7 +810,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -875,7 +875,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -936,7 +936,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -1001,7 +1001,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -1062,7 +1062,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -1123,7 +1123,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -1188,7 +1188,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -1253,7 +1253,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -1318,7 +1318,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!
@ -1379,7 +1379,7 @@ Just run \`nx build demoapp\` to build the application. The build artifacts will
Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your \`nx.json\`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!

View File

@ -53,7 +53,7 @@ Just run `nx build demoapp` to build the application. The build artifacts will b
Nx comes with local caching already built-in (check your `nx.json`). On CI you might want to go a step further. Nx comes with local caching already built-in (check your `nx.json`). On CI you might want to go a step further.
- [Set up remote caching](https://nx.dev/core-features/share-your-cache) - [Set up remote caching](https://nx.dev/core-features/share-your-cache)
- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) - [Set up task distribution across multiple machines](https://nx.dev/nx-cloud/features/distribute-task-execution)
- [Learn more how to setup CI](https://nx.dev/recipes/ci) - [Learn more how to setup CI](https://nx.dev/recipes/ci)
## Connect with us! ## Connect with us!