docs(core): enterprise custom dte (#22143)
@ -201,7 +201,7 @@
|
||||
"name": "Set up Nx Cloud On-Premise",
|
||||
"description": "Set up Nx Cloud on machines that you control",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/nx-enterprise-on-prem",
|
||||
"file": "nx-cloud/features/nx-enterprise-on-prem",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/features/on-premise",
|
||||
@ -283,7 +283,7 @@
|
||||
"name": "Set up Nx Cloud On-Premise",
|
||||
"description": "Set up Nx Cloud on machines that you control",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/nx-enterprise-on-prem",
|
||||
"file": "nx-cloud/features/nx-enterprise-on-prem",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/features/on-premise",
|
||||
@ -575,6 +575,13 @@
|
||||
"path": "/ci/recipes/source-control-integration",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "enterprise",
|
||||
"name": "Enterprise",
|
||||
"description": "Recipes for enterprise accounts",
|
||||
"mediaImage": "",
|
||||
"file": "",
|
||||
"itemList": [
|
||||
{
|
||||
"id": "on-premise",
|
||||
"name": "On-Premise",
|
||||
@ -587,10 +594,10 @@
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-single-admin",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-single-admin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-single-admin",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -598,10 +605,10 @@
|
||||
"name": "Authenticate with GitHub",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-github",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-github",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-github",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -609,10 +616,10 @@
|
||||
"name": "On-Prem VM Setup",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/ami-setup",
|
||||
"file": "nx-cloud/enterprise/on-premise/ami-setup",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/ami-setup",
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -620,10 +627,10 @@
|
||||
"name": "Authenticate with GitLab",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-gitlab",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-gitlab",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-gitlab",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -631,10 +638,10 @@
|
||||
"name": "Authenticate with BitBucket",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-bitbucket",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-bitbucket",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-bitbucket",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -642,10 +649,10 @@
|
||||
"name": "Authenticate via SAML",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-saml",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-saml",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -653,10 +660,10 @@
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-saml-managed",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml-managed",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-saml-managed",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -664,15 +671,98 @@
|
||||
"name": "Advanced Configuration",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/advanced-config",
|
||||
"file": "nx-cloud/enterprise/on-premise/advanced-config",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/advanced-config",
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise",
|
||||
"path": "/ci/recipes/enterprise/on-premise",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "dte",
|
||||
"name": "Custom Distributed Task Execution",
|
||||
"description": "Custom DTE on your own CI provider",
|
||||
"mediaImage": "",
|
||||
"file": "",
|
||||
"itemList": [
|
||||
{
|
||||
"id": "github-dte",
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/github-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "circle-ci-dte",
|
||||
"name": "Circle CI Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/circle-ci-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "azure-dte",
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/azure-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "bitbucket-dte",
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/bitbucket-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "gitlab-dte",
|
||||
"name": "GitLab Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/gitlab-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "jenkins-dte",
|
||||
"name": "Jenkins Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/jenkins-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1059,7 +1149,14 @@
|
||||
"path": "/ci/recipes/source-control-integration/gitlab",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise": {
|
||||
"/ci/recipes/enterprise": {
|
||||
"id": "enterprise",
|
||||
"name": "Enterprise",
|
||||
"description": "Recipes for enterprise accounts",
|
||||
"mediaImage": "",
|
||||
"file": "",
|
||||
"itemList": [
|
||||
{
|
||||
"id": "on-premise",
|
||||
"name": "On-Premise",
|
||||
"description": "Manage an on-premise installation of Nx Cloud",
|
||||
@ -1071,10 +1168,10 @@
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-single-admin",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-single-admin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-single-admin",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1082,10 +1179,10 @@
|
||||
"name": "Authenticate with GitHub",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-github",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-github",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-github",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1093,10 +1190,10 @@
|
||||
"name": "On-Prem VM Setup",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/ami-setup",
|
||||
"file": "nx-cloud/enterprise/on-premise/ami-setup",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/ami-setup",
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1104,10 +1201,10 @@
|
||||
"name": "Authenticate with GitLab",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-gitlab",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-gitlab",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-gitlab",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1115,10 +1212,10 @@
|
||||
"name": "Authenticate with BitBucket",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-bitbucket",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-bitbucket",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-bitbucket",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1126,10 +1223,10 @@
|
||||
"name": "Authenticate via SAML",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-saml",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-saml",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1137,10 +1234,10 @@
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-saml-managed",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml-managed",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-saml-managed",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -1148,103 +1245,430 @@
|
||||
"name": "Advanced Configuration",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/advanced-config",
|
||||
"file": "nx-cloud/enterprise/on-premise/advanced-config",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/advanced-config",
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise",
|
||||
"path": "/ci/recipes/enterprise/on-premise",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/auth-single-admin": {
|
||||
{
|
||||
"id": "dte",
|
||||
"name": "Custom Distributed Task Execution",
|
||||
"description": "Custom DTE on your own CI provider",
|
||||
"mediaImage": "",
|
||||
"file": "",
|
||||
"itemList": [
|
||||
{
|
||||
"id": "github-dte",
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/github-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "circle-ci-dte",
|
||||
"name": "Circle CI Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/circle-ci-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "azure-dte",
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/azure-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "bitbucket-dte",
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/bitbucket-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "gitlab-dte",
|
||||
"name": "GitLab Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/gitlab-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "jenkins-dte",
|
||||
"name": "Jenkins Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/jenkins-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise": {
|
||||
"id": "on-premise",
|
||||
"name": "On-Premise",
|
||||
"description": "Manage an on-premise installation of Nx Cloud",
|
||||
"mediaImage": "",
|
||||
"file": "",
|
||||
"itemList": [
|
||||
{
|
||||
"id": "auth-single-admin",
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-single-admin",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-single-admin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-single-admin",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/auth-github": {
|
||||
{
|
||||
"id": "auth-github",
|
||||
"name": "Authenticate with GitHub",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-github",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-github",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-github",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/ami-setup": {
|
||||
{
|
||||
"id": "ami-setup",
|
||||
"name": "On-Prem VM Setup",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/ami-setup",
|
||||
"file": "nx-cloud/enterprise/on-premise/ami-setup",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/ami-setup",
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/auth-gitlab": {
|
||||
{
|
||||
"id": "auth-gitlab",
|
||||
"name": "Authenticate with GitLab",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-gitlab",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-gitlab",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-gitlab",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/auth-bitbucket": {
|
||||
{
|
||||
"id": "auth-bitbucket",
|
||||
"name": "Authenticate with BitBucket",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-bitbucket",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-bitbucket",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-bitbucket",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/auth-saml": {
|
||||
{
|
||||
"id": "auth-saml",
|
||||
"name": "Authenticate via SAML",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-saml",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-saml",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/auth-saml-managed": {
|
||||
{
|
||||
"id": "auth-saml-managed",
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/auth-saml-managed",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml-managed",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/auth-saml-managed",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/on-premise/advanced-config": {
|
||||
{
|
||||
"id": "advanced-config",
|
||||
"name": "Advanced Configuration",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/private/advanced-config",
|
||||
"file": "nx-cloud/enterprise/on-premise/advanced-config",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/on-premise/advanced-config",
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/auth-single-admin": {
|
||||
"id": "auth-single-admin",
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-single-admin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/auth-github": {
|
||||
"id": "auth-github",
|
||||
"name": "Authenticate with GitHub",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-github",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/ami-setup": {
|
||||
"id": "ami-setup",
|
||||
"name": "On-Prem VM Setup",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/ami-setup",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/auth-gitlab": {
|
||||
"id": "auth-gitlab",
|
||||
"name": "Authenticate with GitLab",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-gitlab",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/auth-bitbucket": {
|
||||
"id": "auth-bitbucket",
|
||||
"name": "Authenticate with BitBucket",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-bitbucket",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/auth-saml": {
|
||||
"id": "auth-saml",
|
||||
"name": "Authenticate via SAML",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/auth-saml-managed": {
|
||||
"id": "auth-saml-managed",
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml-managed",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/on-premise/advanced-config": {
|
||||
"id": "advanced-config",
|
||||
"name": "Advanced Configuration",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/on-premise/advanced-config",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/dte": {
|
||||
"id": "dte",
|
||||
"name": "Custom Distributed Task Execution",
|
||||
"description": "Custom DTE on your own CI provider",
|
||||
"mediaImage": "",
|
||||
"file": "",
|
||||
"itemList": [
|
||||
{
|
||||
"id": "github-dte",
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/github-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "circle-ci-dte",
|
||||
"name": "Circle CI Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/circle-ci-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "azure-dte",
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/azure-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "bitbucket-dte",
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/bitbucket-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "gitlab-dte",
|
||||
"name": "GitLab Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/gitlab-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "jenkins-dte",
|
||||
"name": "Jenkins Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/jenkins-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/dte/github-dte": {
|
||||
"id": "github-dte",
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/github-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/dte/circle-ci-dte": {
|
||||
"id": "circle-ci-dte",
|
||||
"name": "Circle CI Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/circle-ci-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/dte/azure-dte": {
|
||||
"id": "azure-dte",
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/azure-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/dte/bitbucket-dte": {
|
||||
"id": "bitbucket-dte",
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/bitbucket-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/dte/gitlab-dte": {
|
||||
"id": "gitlab-dte",
|
||||
"name": "GitLab Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/gitlab-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/enterprise/dte/jenkins-dte": {
|
||||
"id": "jenkins-dte",
|
||||
"name": "Jenkins Custom DTE",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "nx-cloud/enterprise/dte/jenkins-dte",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"tags": []
|
||||
},
|
||||
"/ci/recipes/troubleshooting": {
|
||||
|
||||
@ -6021,15 +6021,21 @@
|
||||
],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Enterprise",
|
||||
"path": "/ci/recipes/enterprise",
|
||||
"id": "enterprise",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "On-Premise",
|
||||
"path": "/ci/recipes/on-premise",
|
||||
"path": "/ci/recipes/enterprise/on-premise",
|
||||
"id": "on-premise",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"path": "/ci/recipes/on-premise/auth-single-admin",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"id": "auth-single-admin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6037,7 +6043,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitHub",
|
||||
"path": "/ci/recipes/on-premise/auth-github",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"id": "auth-github",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6045,7 +6051,7 @@
|
||||
},
|
||||
{
|
||||
"name": "On-Prem VM Setup",
|
||||
"path": "/ci/recipes/on-premise/ami-setup",
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"id": "ami-setup",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6053,7 +6059,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitLab",
|
||||
"path": "/ci/recipes/on-premise/auth-gitlab",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"id": "auth-gitlab",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6061,7 +6067,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with BitBucket",
|
||||
"path": "/ci/recipes/on-premise/auth-bitbucket",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"id": "auth-bitbucket",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6069,7 +6075,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML",
|
||||
"path": "/ci/recipes/on-premise/auth-saml",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"id": "auth-saml",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6077,7 +6083,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"path": "/ci/recipes/on-premise/auth-saml-managed",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"id": "auth-saml-managed",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6085,7 +6091,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Advanced Configuration",
|
||||
"path": "/ci/recipes/on-premise/advanced-config",
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"id": "advanced-config",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6094,6 +6100,66 @@
|
||||
],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Custom Distributed Task Execution",
|
||||
"path": "/ci/recipes/enterprise/dte",
|
||||
"id": "dte",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"id": "github-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Circle CI Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"id": "circle-ci-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"id": "azure-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"id": "bitbucket-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "GitLab Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"id": "gitlab-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Jenkins Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"id": "jenkins-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
}
|
||||
],
|
||||
"disableCollapsible": false
|
||||
}
|
||||
],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Troubleshooting",
|
||||
"path": "/ci/recipes/troubleshooting",
|
||||
@ -6374,15 +6440,21 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Enterprise",
|
||||
"path": "/ci/recipes/enterprise",
|
||||
"id": "enterprise",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "On-Premise",
|
||||
"path": "/ci/recipes/on-premise",
|
||||
"path": "/ci/recipes/enterprise/on-premise",
|
||||
"id": "on-premise",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"path": "/ci/recipes/on-premise/auth-single-admin",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"id": "auth-single-admin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6390,7 +6462,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitHub",
|
||||
"path": "/ci/recipes/on-premise/auth-github",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"id": "auth-github",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6398,7 +6470,7 @@
|
||||
},
|
||||
{
|
||||
"name": "On-Prem VM Setup",
|
||||
"path": "/ci/recipes/on-premise/ami-setup",
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"id": "ami-setup",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6406,7 +6478,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitLab",
|
||||
"path": "/ci/recipes/on-premise/auth-gitlab",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"id": "auth-gitlab",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6414,7 +6486,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with BitBucket",
|
||||
"path": "/ci/recipes/on-premise/auth-bitbucket",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"id": "auth-bitbucket",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6422,7 +6494,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML",
|
||||
"path": "/ci/recipes/on-premise/auth-saml",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"id": "auth-saml",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6430,7 +6502,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"path": "/ci/recipes/on-premise/auth-saml-managed",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"id": "auth-saml-managed",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6438,7 +6510,140 @@
|
||||
},
|
||||
{
|
||||
"name": "Advanced Configuration",
|
||||
"path": "/ci/recipes/on-premise/advanced-config",
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"id": "advanced-config",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
}
|
||||
],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Custom Distributed Task Execution",
|
||||
"path": "/ci/recipes/enterprise/dte",
|
||||
"id": "dte",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"id": "github-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Circle CI Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"id": "circle-ci-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"id": "azure-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"id": "bitbucket-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "GitLab Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"id": "gitlab-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Jenkins Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"id": "jenkins-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
}
|
||||
],
|
||||
"disableCollapsible": false
|
||||
}
|
||||
],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "On-Premise",
|
||||
"path": "/ci/recipes/enterprise/on-premise",
|
||||
"id": "on-premise",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"id": "auth-single-admin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitHub",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"id": "auth-github",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "On-Prem VM Setup",
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"id": "ami-setup",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitLab",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"id": "auth-gitlab",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with BitBucket",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"id": "auth-bitbucket",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"id": "auth-saml",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"id": "auth-saml-managed",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Advanced Configuration",
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"id": "advanced-config",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6449,7 +6654,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"path": "/ci/recipes/on-premise/auth-single-admin",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-single-admin",
|
||||
"id": "auth-single-admin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6457,7 +6662,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitHub",
|
||||
"path": "/ci/recipes/on-premise/auth-github",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-github",
|
||||
"id": "auth-github",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6465,7 +6670,7 @@
|
||||
},
|
||||
{
|
||||
"name": "On-Prem VM Setup",
|
||||
"path": "/ci/recipes/on-premise/ami-setup",
|
||||
"path": "/ci/recipes/enterprise/on-premise/ami-setup",
|
||||
"id": "ami-setup",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6473,7 +6678,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitLab",
|
||||
"path": "/ci/recipes/on-premise/auth-gitlab",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-gitlab",
|
||||
"id": "auth-gitlab",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6481,7 +6686,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with BitBucket",
|
||||
"path": "/ci/recipes/on-premise/auth-bitbucket",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-bitbucket",
|
||||
"id": "auth-bitbucket",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6489,7 +6694,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML",
|
||||
"path": "/ci/recipes/on-premise/auth-saml",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml",
|
||||
"id": "auth-saml",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6497,7 +6702,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"path": "/ci/recipes/on-premise/auth-saml-managed",
|
||||
"path": "/ci/recipes/enterprise/on-premise/auth-saml-managed",
|
||||
"id": "auth-saml-managed",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -6505,12 +6710,117 @@
|
||||
},
|
||||
{
|
||||
"name": "Advanced Configuration",
|
||||
"path": "/ci/recipes/on-premise/advanced-config",
|
||||
"path": "/ci/recipes/enterprise/on-premise/advanced-config",
|
||||
"id": "advanced-config",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Custom Distributed Task Execution",
|
||||
"path": "/ci/recipes/enterprise/dte",
|
||||
"id": "dte",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"id": "github-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Circle CI Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"id": "circle-ci-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"id": "azure-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"id": "bitbucket-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "GitLab Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"id": "gitlab-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Jenkins Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"id": "jenkins-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
}
|
||||
],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/github-dte",
|
||||
"id": "github-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Circle CI Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/circle-ci-dte",
|
||||
"id": "circle-ci-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/azure-dte",
|
||||
"id": "azure-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/bitbucket-dte",
|
||||
"id": "bitbucket-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "GitLab Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/gitlab-dte",
|
||||
"id": "gitlab-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Jenkins Custom DTE",
|
||||
"path": "/ci/recipes/enterprise/dte/jenkins-dte",
|
||||
"id": "jenkins-dte",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Troubleshooting",
|
||||
"path": "/ci/recipes/troubleshooting",
|
||||
|
||||
@ -1119,7 +1119,7 @@
|
||||
"on-premise": [
|
||||
{
|
||||
"description": "Set up Nx Cloud on machines that you control",
|
||||
"file": "nx-cloud/private/nx-enterprise-on-prem",
|
||||
"file": "nx-cloud/features/nx-enterprise-on-prem",
|
||||
"id": "on-premise",
|
||||
"name": "Set up Nx Cloud On-Premise",
|
||||
"path": "/ci/features/on-premise"
|
||||
|
||||
@ -1715,7 +1715,7 @@
|
||||
"description": "Set up Nx Cloud on machines that you control",
|
||||
"id": "on-premise",
|
||||
"tags": ["on-premise"],
|
||||
"file": "nx-cloud/private/nx-enterprise-on-prem"
|
||||
"file": "nx-cloud/features/nx-enterprise-on-prem"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -1841,6 +1841,11 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Enterprise",
|
||||
"id": "enterprise",
|
||||
"description": "Recipes for enterprise accounts",
|
||||
"itemList": [
|
||||
{
|
||||
"name": "On-Premise",
|
||||
"id": "on-premise",
|
||||
@ -1849,42 +1854,81 @@
|
||||
{
|
||||
"name": "Authenticate with a Single Admin",
|
||||
"id": "auth-single-admin",
|
||||
"file": "nx-cloud/private/auth-single-admin"
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-single-admin"
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitHub",
|
||||
"id": "auth-github",
|
||||
"file": "nx-cloud/private/auth-github"
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-github"
|
||||
},
|
||||
{
|
||||
"name": "On-Prem VM Setup",
|
||||
"id": "ami-setup",
|
||||
"file": "nx-cloud/private/ami-setup"
|
||||
"file": "nx-cloud/enterprise/on-premise/ami-setup"
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with GitLab",
|
||||
"id": "auth-gitlab",
|
||||
"file": "nx-cloud/private/auth-gitlab"
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-gitlab"
|
||||
},
|
||||
{
|
||||
"name": "Authenticate with BitBucket",
|
||||
"id": "auth-bitbucket",
|
||||
"file": "nx-cloud/private/auth-bitbucket"
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-bitbucket"
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML",
|
||||
"id": "auth-saml",
|
||||
"file": "nx-cloud/private/auth-saml"
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml"
|
||||
},
|
||||
{
|
||||
"name": "Authenticate via SAML on Managed Version",
|
||||
"id": "auth-saml-managed",
|
||||
"file": "nx-cloud/private/auth-saml-managed"
|
||||
"file": "nx-cloud/enterprise/on-premise/auth-saml-managed"
|
||||
},
|
||||
{
|
||||
"name": "Advanced Configuration",
|
||||
"id": "advanced-config",
|
||||
"file": "nx-cloud/private/advanced-config"
|
||||
"file": "nx-cloud/enterprise/on-premise/advanced-config"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Custom Distributed Task Execution",
|
||||
"id": "dte",
|
||||
"description": "Custom DTE on your own CI provider",
|
||||
"itemList": [
|
||||
{
|
||||
"name": "GitHub Actions Custom DTE",
|
||||
"id": "github-dte",
|
||||
"file": "nx-cloud/enterprise/dte/github-dte"
|
||||
},
|
||||
{
|
||||
"name": "Circle CI Custom DTE",
|
||||
"id": "circle-ci-dte",
|
||||
"file": "nx-cloud/enterprise/dte/circle-ci-dte"
|
||||
},
|
||||
{
|
||||
"name": "Azure Pipelines Custom DTE",
|
||||
"id": "azure-dte",
|
||||
"file": "nx-cloud/enterprise/dte/azure-dte"
|
||||
},
|
||||
{
|
||||
"name": "Bitbucket Pipelines Custom DTE",
|
||||
"id": "bitbucket-dte",
|
||||
"file": "nx-cloud/enterprise/dte/bitbucket-dte"
|
||||
},
|
||||
{
|
||||
"name": "GitLab Custom DTE",
|
||||
"id": "gitlab-dte",
|
||||
"file": "nx-cloud/enterprise/dte/gitlab-dte"
|
||||
},
|
||||
{
|
||||
"name": "Jenkins Custom DTE",
|
||||
"id": "jenkins-dte",
|
||||
"file": "nx-cloud/enterprise/dte/jenkins-dte"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
73
docs/nx-cloud/enterprise/dte/azure-dte.md
Normal file
@ -0,0 +1,73 @@
|
||||
# Custom Distributed Task Execution on Azure Pipelines
|
||||
|
||||
Using [Nx Agents](/ci/features/distribute-task-execution) is the easiest way to distribute task execution, but it your organization may not be able to use hosted Nx Agents. With an [enterprise license](https://nx.app/enterprise), you can set up distributed task execution on your own CI provider using the recipe below.
|
||||
|
||||
## Run Custom Agents on Azure Pipelines
|
||||
|
||||
Run agents directly on Azure Pipelines with the workflow below:
|
||||
|
||||
```yaml {% fileName="azure-pipelines.yml" %}
|
||||
trigger:
|
||||
- main
|
||||
pr:
|
||||
- main
|
||||
|
||||
variables:
|
||||
CI: 'true'
|
||||
NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT: 3 # expected number of agents
|
||||
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||
NX_BRANCH: $(System.PullRequest.PullRequestNumber)
|
||||
TARGET_BRANCH: $[replace(variables['System.PullRequest.TargetBranch'],'refs/heads/','origin/')]
|
||||
BASE_SHA: $(git merge-base $(TARGET_BRANCH) HEAD)
|
||||
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
NX_BRANCH: $(Build.SourceBranchName)
|
||||
BASE_SHA: $(git rev-parse HEAD~1)
|
||||
HEAD_SHA: $(git rev-parse HEAD)
|
||||
|
||||
jobs:
|
||||
- job: agents
|
||||
strategy:
|
||||
parallel: 3
|
||||
displayName: Nx Cloud Agent
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- script: npm ci
|
||||
- script: npx nx-cloud start-agent
|
||||
|
||||
- job: main
|
||||
displayName: Nx Cloud Main
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
# Get last successfull commit from Azure Devops CLI
|
||||
- displayName: 'Get last successful commit SHA'
|
||||
condition: ne(variables['Build.Reason'], 'PullRequest')
|
||||
env:
|
||||
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
|
||||
bash: |
|
||||
LAST_SHA=$(az pipelines build list --branch $(Build.SourceBranchName) --definition-ids $(System.DefinitionId) --result succeeded --top 1 --query "[0].triggerInfo.\"ci.sourceSha\"")
|
||||
if [ -z "$LAST_SHA" ]
|
||||
then
|
||||
echo "Last successful commit not found. Using fallback 'HEAD~1': $BASE_SHA"
|
||||
else
|
||||
echo "Last successful commit SHA: $LAST_SHA"
|
||||
echo "##vso[task.setvariable variable=BASE_SHA]$LAST_SHA"
|
||||
fi
|
||||
|
||||
- script: git branch --track main origin/main
|
||||
- script: npm ci
|
||||
- script: npx nx-cloud start-ci-run --stop-agents-after="e2e-ci"
|
||||
- script: npx nx-cloud record -- nx format:check --base=$(BASE_SHA) --head=$(HEAD_SHA)
|
||||
- script: npx nx affected --base=$(BASE_SHA) --head=$(HEAD_SHA) -t lint,test,build,e2e-ci --parallel=2 --configuration=ci
|
||||
```
|
||||
|
||||
This configuration is setting up two types of jobs - a main job and three agent jobs.
|
||||
|
||||
The main job tells Nx Cloud to use DTE and then runs normal Nx commands as if this were a single pipeline set up. Once the commands are done, it notifies Nx Cloud to stop the agent jobs.
|
||||
|
||||
The agent jobs set up the repo and then wait for Nx Cloud to assign them tasks.
|
||||
|
||||
{% callout type="warning" title="Two Types of Parallelization" %}
|
||||
The agent strategy of `parallel: 3` and the `nx affected --parallel=2` flag both parallelize tasks, but in different ways. The way this workflow is written, there will be 3 agents running tasks and each agent will try to run 2 tasks at once. If a particular CI run only has 2 tasks, only one agent will be used.
|
||||
{% /callout %}
|
||||
52
docs/nx-cloud/enterprise/dte/bitbucket-dte.md
Normal file
@ -0,0 +1,52 @@
|
||||
# Custom Distributed Task Execution on Bitbucket Pipelines
|
||||
|
||||
Using [Nx Agents](/ci/features/distribute-task-execution) is the easiest way to distribute task execution, but it your organization may not be able to use hosted Nx Agents. With an [enterprise license](https://nx.app/enterprise), you can set up distributed task execution on your own CI provider using the recipe below.
|
||||
|
||||
## Run Custom Agents on Bitbucket Pipelines
|
||||
|
||||
Run agents directly on Bitbucket Pipelines with the workflow below:
|
||||
|
||||
```yaml {% fileName="bitbucket-pipelines.yml" %}
|
||||
image: node:20
|
||||
|
||||
clone:
|
||||
depth: full
|
||||
|
||||
definitions:
|
||||
steps:
|
||||
- step: &agent
|
||||
name: Agent
|
||||
script:
|
||||
- export NX_BRANCH=$BITBUCKET_PR_ID
|
||||
|
||||
- npm ci
|
||||
- npx nx-cloud start-agent
|
||||
|
||||
pipelines:
|
||||
pull-requests:
|
||||
'**':
|
||||
- parallel:
|
||||
- step:
|
||||
name: CI
|
||||
script:
|
||||
- export NX_BRANCH=$BITBUCKET_PR_ID
|
||||
- export NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT=3
|
||||
|
||||
- npm ci
|
||||
- npx nx-cloud start-ci-run --stop-agents-after="e2e-ci" --agent-count=3
|
||||
- npx nx-cloud record -- nx format:check
|
||||
- npx nx affected --target=lint,test,build,e2e-ci --parallel=2
|
||||
- step: *agent
|
||||
- step: *agent
|
||||
- step: *agent
|
||||
```
|
||||
|
||||
This configuration is setting up two types of jobs - a main job and three agent jobs.
|
||||
|
||||
The main job tells Nx Cloud to use DTE and then runs normal Nx commands as if this were a single pipeline set up. Once the commands are done, it notifies Nx Cloud to stop the agent jobs.
|
||||
|
||||
The agent jobs set up the repo and then wait for Nx Cloud to assign them tasks.
|
||||
|
||||
{% callout type="warning" title="Two Types of Parallelization" %}
|
||||
The agents and the `--parallel` flag both parallelize tasks, but in different ways. The way this workflow is written, there will be 3 agents running tasks and each agent will try to run 2 tasks at once. If a particular CI run only has 2 tasks, only one agent will be used.
|
||||
{% /callout %}
|
||||
61
docs/nx-cloud/enterprise/dte/circle-ci-dte.md
Normal file
@ -0,0 +1,61 @@
|
||||
# Custom Distributed Task Execution on Circle CI
|
||||
|
||||
Using [Nx Agents](/ci/features/distribute-task-execution) is the easiest way to distribute task execution, but it your organization may not be able to use hosted Nx Agents. With an [enterprise license](https://nx.app/enterprise), you can set up distributed task execution on your own CI provider using the recipe below.
|
||||
|
||||
## Run Custom Agents on Circle CI
|
||||
|
||||
Run agents directly on Circle CI with the workflow below:
|
||||
|
||||
```yaml {% fileName=".circleci/config.yml" %}
|
||||
version: 2.1
|
||||
orbs:
|
||||
nx: nrwl/nx@1.5.1
|
||||
jobs:
|
||||
main:
|
||||
docker:
|
||||
- image: cimg/node:lts-browsers
|
||||
environment:
|
||||
NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT: 3 # expected number of agents
|
||||
steps:
|
||||
- checkout
|
||||
- run: npm ci
|
||||
- nx/set-shas
|
||||
|
||||
# Tell Nx Cloud to use DTE and stop agents when the e2e-ci tasks are done
|
||||
- run: npx nx-cloud start-ci-run --stop-agents-after=e2e-ci
|
||||
# Send logs to Nx Cloud for any CLI command
|
||||
- run: npx nx-cloud record -- nx format:check
|
||||
# Lint, test, build and run e2e on agent jobs for everything affected by a change
|
||||
- run: npx nx affected --base=$NX_BASE --head=$NX_HEAD -t lint,test,build,e2e-ci --parallel=2 --configuration=ci
|
||||
agent:
|
||||
docker:
|
||||
- image: cimg/node:lts-browsers
|
||||
parameters:
|
||||
ordinal:
|
||||
type: integer
|
||||
steps:
|
||||
- checkout
|
||||
- run: npm ci
|
||||
# Wait for instructions from Nx Cloud
|
||||
- run:
|
||||
command: npx nx-cloud start-agent
|
||||
no_output_timeout: 60m
|
||||
workflows:
|
||||
build:
|
||||
jobs:
|
||||
- agent:
|
||||
matrix:
|
||||
parameters:
|
||||
ordinal: [1, 2, 3]
|
||||
- main
|
||||
```
|
||||
|
||||
This configuration is setting up two types of jobs - a main job and three agent jobs.
|
||||
|
||||
The main job tells Nx Cloud to use DTE and then runs normal Nx commands as if this were a single pipeline set up. Once the commands are done, it notifies Nx Cloud to stop the agent jobs.
|
||||
|
||||
The agent jobs set up the repo and then wait for Nx Cloud to assign them tasks.
|
||||
|
||||
{% callout type="warning" title="Two Types of Parallelization" %}
|
||||
The `ordinal: [1, 2, 3]` line and the `--parallel` flag both parallelize tasks, but in different ways. The way this workflow is written, there will be 3 agents running tasks and each agent will try to run 2 tasks at once. If a particular CI run only has 2 tasks, only one agent will be used.
|
||||
{% /callout %}
|
||||
130
docs/nx-cloud/enterprise/dte/github-dte.md
Normal file
@ -0,0 +1,130 @@
|
||||
# Custom Distributed Task Execution on Github Actions
|
||||
|
||||
Using [Nx Agents](/ci/features/distribute-task-execution) is the easiest way to distribute task execution, but it your organization may not be able to use hosted Nx Agents. With an [enterprise license](https://nx.app/enterprise), you can set up distributed task execution on your own CI provider using the recipe below.
|
||||
|
||||
## Run Custom Agents on GitHub
|
||||
|
||||
Our [reusable GitHub workflow](https://github.com/nrwl/ci) represents a good set of defaults that works for a large number of our users. However, reusable GitHub workflows come with their [limitations](https://docs.github.com/en/actions/using-workflows/reusing-workflows).
|
||||
|
||||
If the reusable workflow above doesn't satisfy your needs you should create a custom workflow. If you were to rewrite the reusable workflow yourself, it would look something like this:
|
||||
|
||||
```yaml {% fileName=".github/workflows/ci.yml" %}
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
# Needed for nx-set-shas when run on the main branch
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
|
||||
env:
|
||||
NX_CLOUD_DISTRIBUTED_EXECUTION: true # this enables DTE
|
||||
NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT: 3 # expected number of agents
|
||||
NX_BRANCH: ${{ github.event.number || github.ref_name }}
|
||||
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} # this is needed if our pipeline publishes to npm
|
||||
|
||||
jobs:
|
||||
main:
|
||||
name: Nx Cloud - Main Job
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
name: Checkout [Pull Request]
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
with:
|
||||
# By default, PRs will be checked-out based on the Merge Commit, but we want the actual branch HEAD.
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
# We need to fetch all branches and commits so that Nx affected has a base to compare against.
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
name: Checkout [Default Branch]
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
with:
|
||||
# We need to fetch all branches and commits so that Nx affected has a base to compare against.
|
||||
fetch-depth: 0
|
||||
|
||||
# Set node/npm/yarn versions using volta
|
||||
- uses: volta-cli/action@v4
|
||||
with:
|
||||
package-json-path: '${{ github.workspace }}/package.json'
|
||||
|
||||
- name: Use the package manager cache if available
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 20
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Check out the default branch
|
||||
run: git branch --track main origin/main
|
||||
|
||||
- name: Initialize the Nx Cloud distributed CI run and stop agents when the build tasks are done
|
||||
run: npx nx-cloud start-ci-run --stop-agents-after=e2e-ci
|
||||
|
||||
- name: Run commands in parallel
|
||||
run: |
|
||||
# initialize an array to store process IDs (PIDs)
|
||||
pids=()
|
||||
|
||||
# function to run commands and store the PID
|
||||
function run_command() {
|
||||
local command=$1
|
||||
$command & # run the command in the background
|
||||
pids+=($!) # store the PID of the background process
|
||||
}
|
||||
|
||||
# list of commands to be run on main has env flag NX_CLOUD_DISTRIBUTED_EXECUTION set to false
|
||||
run_command "NX_CLOUD_DISTRIBUTED_EXECUTION=false npx nx-cloud record -- nx format:check"
|
||||
|
||||
# list of commands to be run on agents
|
||||
run_command "npx nx affected -t lint,test,build,e2e-ci --parallel=3"
|
||||
|
||||
# wait for all background processes to finish
|
||||
for pid in ${pids[*]}; do
|
||||
if ! wait $pid; then
|
||||
exit 1 # exit with an error status if any process fails
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0 # exits with success status if a all processes complete successfully
|
||||
|
||||
agents:
|
||||
name: Agent ${{ matrix.agent }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
# Add more agents here as your repository expands
|
||||
agent: [1, 2, 3]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Set node/npm/yarn versions using volta
|
||||
- uses: volta-cli/action@v4
|
||||
with:
|
||||
package-json-path: '${{ github.workspace }}/package.json'
|
||||
|
||||
- name: Use the package manager cache if available
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 20
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Start Nx Agent ${{ matrix.agent }}
|
||||
run: npx nx-cloud start-agent
|
||||
env:
|
||||
NX_AGENT_NAME: ${{ matrix.agent }}
|
||||
```
|
||||
|
||||
There are comments throughout the workflow to help you understand what is happening in each section.
|
||||
77
docs/nx-cloud/enterprise/dte/gitlab-dte.md
Normal file
@ -0,0 +1,77 @@
|
||||
# Custom Distributed Task Execution on GitLab
|
||||
|
||||
Using [Nx Agents](/ci/features/distribute-task-execution) is the easiest way to distribute task execution, but it your organization may not be able to use hosted Nx Agents. With an [enterprise license](https://nx.app/enterprise), you can set up distributed task execution on your own CI provider using the recipe below.
|
||||
|
||||
## Run Custom Agents on GitLab
|
||||
|
||||
Run agents directly on GitLab with the workflow below:
|
||||
|
||||
```yaml {% fileName=".gitlab-ci.yml" %}
|
||||
image: node:18
|
||||
|
||||
# Creating template for DTE agents
|
||||
.dte-agent:
|
||||
interruptible: true
|
||||
cache:
|
||||
key:
|
||||
files:
|
||||
- yarn.lock
|
||||
paths:
|
||||
- '.yarn-cache/'
|
||||
script:
|
||||
- yarn install --cache-folder .yarn-cache --prefer-offline --frozen-lockfile
|
||||
- yarn nx-cloud start-agent
|
||||
|
||||
# Creating template for a job running DTE (orchestrator)
|
||||
.base-pipeline:
|
||||
interruptible: true
|
||||
only:
|
||||
- main
|
||||
- merge_requests
|
||||
cache:
|
||||
key:
|
||||
files:
|
||||
- yarn.lock
|
||||
paths:
|
||||
- '.yarn-cache/'
|
||||
before_script:
|
||||
- yarn install --cache-folder .yarn-cache --prefer-offline --frozen-lockfile
|
||||
- NX_HEAD=$CI_COMMIT_SHA
|
||||
- NX_BASE=${CI_MERGE_REQUEST_DIFF_BASE_SHA:-$CI_COMMIT_BEFORE_SHA}
|
||||
- NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT=3 # expected number of agents
|
||||
|
||||
artifacts:
|
||||
expire_in: 5 days
|
||||
paths:
|
||||
- dist
|
||||
|
||||
# Main job running DTE
|
||||
nx-dte:
|
||||
stage: affected
|
||||
extends: .base-pipeline
|
||||
script:
|
||||
- yarn nx-cloud start-ci-run --stop-agents-after=e2e-ci
|
||||
- yarn nx-cloud record -- nx format:check --base=$NX_BASE --head=$NX_HEAD
|
||||
- yarn nx affected --base=$NX_BASE --head=$NX_HEAD -t lint,test,build,e2e-ci --parallel=2
|
||||
|
||||
# Create as many agents as you want
|
||||
nx-dte-agent1:
|
||||
extends: .dte-agent
|
||||
stage: affected
|
||||
nx-dte-agent2:
|
||||
extends: .dte-agent
|
||||
stage: affected
|
||||
nx-dte-agent3:
|
||||
extends: .dte-agent
|
||||
stage: affected
|
||||
```
|
||||
|
||||
This configuration is setting up two types of jobs - a main job and three agent jobs.
|
||||
|
||||
The main job tells Nx Cloud to use DTE and then runs normal Nx commands as if this were a single pipeline set up. Once the commands are done, it notifies Nx Cloud to stop the agent jobs.
|
||||
|
||||
The agent jobs set up the repo and then wait for Nx Cloud to assign them tasks.
|
||||
|
||||
{% callout type="warning" title="Two Types of Parallelization" %}
|
||||
The agents and the `--parallel` flag both parallelize tasks, but in different ways. The way this workflow is written, there will be 3 agents running tasks and each agent will try to run 2 tasks at once. If a particular CI run only has 2 tasks, only one agent will be used.
|
||||
{% /callout %}
|
||||
80
docs/nx-cloud/enterprise/dte/jenkins-dte.md
Normal file
@ -0,0 +1,80 @@
|
||||
# Custom Distributed Task Execution on Jenkins
|
||||
|
||||
Using [Nx Agents](/ci/features/distribute-task-execution) is the easiest way to distribute task execution, but it your organization may not be able to use hosted Nx Agents. With an [enterprise license](https://nx.app/enterprise), you can set up distributed task execution on your own CI provider using the recipe below.
|
||||
|
||||
## Distribute Tasks Across Custom Agents on Jenkins
|
||||
|
||||
Run agents directly on Jenkins with the workflow below:
|
||||
|
||||
```groovy
|
||||
pipeline {
|
||||
agent none
|
||||
environment {
|
||||
NX_BRANCH = env.BRANCH_NAME.replace('PR-', '')
|
||||
NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT = 3
|
||||
}
|
||||
stages {
|
||||
stage('Pipeline') {
|
||||
parallel {
|
||||
stage('Main') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
agent any
|
||||
steps {
|
||||
sh "npm ci"
|
||||
sh "npx nx-cloud start-ci-run --stop-agents-after='e2e-ci'"
|
||||
sh "npx nx-cloud record -- nx format:check"
|
||||
sh "npx nx affected --base=HEAD~1 -t lint,test,build,e2e-ci --configuration=ci --parallel=2"
|
||||
}
|
||||
}
|
||||
stage('PR') {
|
||||
when {
|
||||
not { branch 'main' }
|
||||
}
|
||||
agent any
|
||||
steps {
|
||||
sh "npm ci"
|
||||
sh "npx nx-cloud start-ci-run --stop-agents-after='e2e-ci'"
|
||||
sh "npx nx-cloud record -- nx format:check"
|
||||
sh "npx nx affected --base origin/${env.CHANGE_TARGET} -t lint,test,build,e2e-ci --parallel=2 --configuration=ci"
|
||||
}
|
||||
}
|
||||
|
||||
# Add as many agent you want
|
||||
stage('Agent1') {
|
||||
agent any
|
||||
steps {
|
||||
sh "npm ci"
|
||||
sh "npx nx-cloud start-agent"
|
||||
}
|
||||
}
|
||||
stage('Agent2') {
|
||||
agent any
|
||||
steps {
|
||||
sh "npm ci"
|
||||
sh "npx nx-cloud start-agent"
|
||||
}
|
||||
}
|
||||
stage('Agent3') {
|
||||
agent any
|
||||
steps {
|
||||
sh "npm ci"
|
||||
sh "npx nx-cloud start-agent"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This configuration is setting up two types of jobs - a main job and three agent jobs.
|
||||
|
||||
The main job tells Nx Cloud to use DTE and then runs normal Nx commands as if this were a single pipeline set up. Once the commands are done, it notifies Nx Cloud to stop the agent jobs.
|
||||
|
||||
The agent jobs set up the repo and then wait for Nx Cloud to assign them tasks.
|
||||
|
||||
{% callout type="warning" title="Two Types of Parallelization" %}
|
||||
The agents and the `--parallel` flag both parallelize tasks, but in different ways. The way this workflow is written, there will be 3 agents running tasks and each agent will try to run 2 tasks at once. If a particular CI run only has 2 tasks, only one agent will be used.
|
||||
{% /callout %}
|
||||
@ -16,7 +16,7 @@
|
||||
7. "Launch instance"
|
||||
8. Wait 10 minutes, then navigate to your instance's IP in the browser. You should see the Nx Cloud dashboard!
|
||||
|
||||

|
||||

|
||||
|
||||
### Your Nx Cloud URL
|
||||
|
||||
@ -126,26 +126,26 @@ nxCloudAppURL: 'https://nx-cloud.on.my-domain.ca' # make sure no backslash is at
|
||||
# the filesystem
|
||||
secret:
|
||||
# set your initial admin password for logging into the app
|
||||
# see here: https://nx.dev/ci/recipes/on-premise/auth-single-admin
|
||||
# see here: https://nx.dev/ci/recipes/enterprise/on-premise/auth-single-admin
|
||||
adminPassword: 'correcthorsebatterystaple'
|
||||
|
||||
# If you want to enable GitHub Login, just provide your client id & secret, we handle the rest
|
||||
# see here: https://nx.dev/ci/recipes/on-premise/auth-github
|
||||
# see here: https://nx.dev/ci/recipes/enterprise/on-premise/auth-github
|
||||
githubAuthClientId: 'my_client_id'
|
||||
githubAuthClientSecret: 'my_client_secret'
|
||||
|
||||
# The same goes for GitLab authentication
|
||||
# see here: https://nx.dev/ci/recipes/on-premise/auth-gitlab
|
||||
# see here: https://nx.dev/ci/recipes/enterprise/on-premise/auth-gitlab
|
||||
# gitlabAppId: 'my_gitlab_app_id'
|
||||
# gitlabAppSecret: 'my_gitlab_app_secret'
|
||||
|
||||
# Bitbucket too! If these are uncommented, BB auth is automatically enabled
|
||||
# see here: https://nx.dev/ci/recipes/on-premise/auth-bitbucket
|
||||
# see here: https://nx.dev/ci/recipes/enterprise/on-premise/auth-bitbucket
|
||||
# bitbucketAppId: 'bitbucket_app_id'
|
||||
# bitbucketAppSecret: 'bitbucket_app_secret'
|
||||
|
||||
# SAML auth
|
||||
# see here: https://nx.dev/ci/recipes/on-premise/auth-saml
|
||||
# see here: https://nx.dev/ci/recipes/enterprise/on-premise/auth-saml
|
||||
# samlEntryPoint: 'your_saml_entry_point'
|
||||
# samlCert: 'saml_cert'
|
||||
```
|
||||
@ -8,15 +8,15 @@ Before creating your container, you'll need to create a BitBucket "OAuth consume
|
||||
|
||||
From BitBucket, click on your profile picture and select your workspace:
|
||||
|
||||

|
||||

|
||||
|
||||
Then "Settings":
|
||||
|
||||

|
||||

|
||||
|
||||
Then "OAuth consumers":
|
||||
|
||||

|
||||

|
||||
|
||||
And create a new consumer.
|
||||
|
||||
@ -31,17 +31,17 @@ https://my.nx-enterprise.url:8080/auth-callback
|
||||
|
||||
**Important:** Ensure there is **no backslash at the end of the "Callback URL"** (i.e. it matches the above pattern)
|
||||
|
||||

|
||||

|
||||
|
||||
Ensure you grant it the `account:read` and `account:email` scopes:
|
||||
|
||||

|
||||

|
||||
|
||||
Save your changes.
|
||||
|
||||
Once you create, keep a note of the Key and the Secret:
|
||||
|
||||

|
||||

|
||||
|
||||
## Connect your Nx Cloud installation to your new app
|
||||
|
||||
@ -6,19 +6,19 @@ First, you'll need to create a GitHub OAuth app for your organisation.
|
||||
|
||||
From GitHub, click on your profile picture and chose "Settings":
|
||||
|
||||

|
||||

|
||||
|
||||
Then "Developer settings" from the left-hand menu:
|
||||
|
||||

|
||||

|
||||
|
||||
Then "OAuth Apps":
|
||||
|
||||

|
||||

|
||||
|
||||
And create a new OAuth app:
|
||||
|
||||

|
||||

|
||||
|
||||
Give it a name, and a homepage URL. The authorization callback is the important bit. It needs to be in this form:
|
||||
|
||||
@ -29,15 +29,15 @@ Give it a name, and a homepage URL. The authorization callback is the important
|
||||
https://my.nx-enterprise.url:8080/auth-callback
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
Once you create, keep a note of the Client ID:
|
||||
|
||||

|
||||

|
||||
|
||||
And then generate a new client secret, and save it somewhere secure (we'll use it in a bit):
|
||||
|
||||

|
||||

|
||||
|
||||
## Configure Nx Cloud Installation
|
||||
|
||||
@ -6,11 +6,11 @@ Before creating your container, you'll need to create a GitLab app for your orga
|
||||
|
||||
From GitLab, click on your profile picture and chose "Preferences":
|
||||
|
||||

|
||||

|
||||
|
||||
Then "Applications" from the left-hand menu:
|
||||
|
||||

|
||||

|
||||
|
||||
Give the app a name. The authorization callback is the important bit. It needs to be in this form:
|
||||
|
||||
@ -23,17 +23,17 @@ https://my.nx-enterprise.url:8080/auth-callback
|
||||
|
||||
**Important:** Ensure there is **no backslash at the end of the "Redirect URI"** (i.e. it matches the above pattern)
|
||||
|
||||

|
||||

|
||||
|
||||
Ensure you grant it the "`read_user`" scope:
|
||||
|
||||

|
||||

|
||||
|
||||
Click "Save application".
|
||||
|
||||
Once you create, keep a note of the Client ID and the Secret:
|
||||
|
||||

|
||||

|
||||
|
||||
## Connect your Nx Cloud installation to your new app
|
||||
|
||||
@ -7,13 +7,13 @@ You'll be entering it in the instructions below.
|
||||
|
||||
1. Create a new Okta App Integration:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
2. Give it a name:
|
||||
|
||||

|
||||

|
||||
|
||||
3. On the Next page, configure it as below:
|
||||
|
||||
@ -24,30 +24,30 @@ You'll be entering it in the instructions below.
|
||||
- If using the main-US cluster: `urn:auth0:nrwl:SAML-IDENTIFIER`
|
||||
- If using the EU cluster: `urn:auth0:nxcloud-eu:SAML-IDENTIFIER`
|
||||
|
||||

|
||||

|
||||
|
||||
4. Scroll down to attribute statements and configure them as per below:
|
||||
|
||||

|
||||

|
||||
|
||||
5. Click “Next”, and select the first option on the next screen.
|
||||
6. Go to the assignments tab and assign the users that can login to the Nx Cloud WebApp:
|
||||
|
||||
1. **Note:** This just gives them permission to use the Nx Cloud web app with their own workspace. Users will still need to be invited manually through the web app to your main workspace.
|
||||
|
||||

|
||||

|
||||
|
||||
7. Then in the Sign-On tab scroll down:
|
||||
|
||||

|
||||

|
||||
|
||||
8. Scroll down and from the list of certificates, download the one with the “Active” status:
|
||||
|
||||

|
||||

|
||||
|
||||
9. Then view the ldP metadata:
|
||||
|
||||

|
||||

|
||||
|
||||
10. Then find the row similar to the below, and copy the highlighted URL (see screenshot as well):
|
||||
|
||||
@ -58,7 +58,7 @@ You'll be entering it in the instructions below.
|
||||
/>
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
11. Send us via email:
|
||||
- your _public_ certificate downloaded in step 8
|
||||
@ -12,44 +12,44 @@ if you are interested.
|
||||
|
||||
1. Create a new enterprise app
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
2. Choose “Create your own”:
|
||||
|
||||

|
||||

|
||||
|
||||
3. Give it a name
|
||||
|
||||

|
||||

|
||||
|
||||
4. Assign your users and/or groups to it:
|
||||
|
||||

|
||||

|
||||
|
||||
5. Then set-up SSO
|
||||
|
||||

|
||||

|
||||
|
||||
6. And choose SAML:
|
||||
|
||||

|
||||

|
||||
|
||||
7. Add these configuration options
|
||||
|
||||
1. Configure the Identifier **exactly** as `nx-private-cloud`
|
||||
2. For the **Reply URL**, it should point to your Private Cloud instance URL. Make sure it ends with `/auth-callback`
|
||||
|
||||

|
||||

|
||||
|
||||
8. Scroll down and manage claims:
|
||||
|
||||

|
||||

|
||||
|
||||
9. The first row should be the `email` claim, click to Edit it:
|
||||
|
||||

|
||||

|
||||
|
||||
10. Configure it as per below
|
||||
|
||||
@ -57,18 +57,18 @@ if you are interested.
|
||||
2. **“Name:”** needs to be “email”
|
||||
3. See screenshot below. This is an important step, because Nx Cloud will expect the “email” property on each profile that logs in.
|
||||
|
||||

|
||||

|
||||
|
||||
11. Download the certificate in **Base64**:
|
||||
|
||||

|
||||

|
||||
|
||||
12. Extract the downloaded certificate value as a one-line string:
|
||||
1. `awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' azure_cert_file.cer`
|
||||
2. We’ll use this in a bit to initialize an environment variable
|
||||
13. Copy the Login URL:
|
||||
|
||||

|
||||

|
||||
|
||||
14. Then add these two env vars to your Nx Cloud cluster secrets (see [Helm config](#helm-config) below):
|
||||
1. `SAML_CERT=<your-cert-string-from-above>`
|
||||
@ -78,46 +78,46 @@ if you are interested.
|
||||
|
||||
1. Create a new Okta App Integration:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
2. Give it a name:
|
||||
|
||||

|
||||

|
||||
|
||||
3. On the Next page, configure it as below:
|
||||
|
||||
1. The Single Sign On URL needs to point to your Nx Cloud instance URL and ends with `/auth/saml/callback`
|
||||
2. The Audience should be `nx-private-cloud`
|
||||
|
||||

|
||||

|
||||
|
||||
4. Scroll down to attribute statements and configure them as per below:
|
||||
|
||||

|
||||

|
||||
|
||||
5. Click “Next”, and select the first option on the next screen.
|
||||
6. Go to the assignments tab and assign the users that can login to the Nx Cloud WebApp:
|
||||
|
||||
1. **Note:** This just gives them permission to use the Nx Cloud web app with their own workspace. Users will still need to be invited manually through the web app to your main workspace.
|
||||
|
||||

|
||||

|
||||
|
||||
7. Then in the Sign-On tab scroll down:
|
||||
|
||||

|
||||

|
||||
|
||||
8. Scroll down and from the list of certificates, download the one with the “Active” status:
|
||||
|
||||

|
||||

|
||||
|
||||
9. Extract the downloaded certificate value as a one-line string:
|
||||
1. `awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' okta.cert`
|
||||
2. We will use this in a bit to initialize and environment variable
|
||||
10. Then view the ldP metadata:
|
||||
|
||||

|
||||

|
||||
|
||||
11. Then find the row similar to the below, and copy the highlighted URL (see screenshot as well):
|
||||
|
||||
@ -128,7 +128,7 @@ if you are interested.
|
||||
/>
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
12. Then add these two env vars to your secrets (see [Helm config](#helm-config) below):
|
||||
1. `SAML_CERT=<your-cert-string-from-above>`
|
||||
@ -33,17 +33,17 @@ 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:
|
||||
|
||||
- [GitHub Auth](/ci/recipes/on-premise/auth-github)
|
||||
- [GitLab Auth](/ci/recipes/on-premise/auth-gitlab)
|
||||
- [BitBucket Auth](/ci/recipes/on-premise/auth-bitbucket)
|
||||
- [SAML Auth](/ci/recipes/on-premise/auth-saml)
|
||||
- [GitHub Auth](/ci/recipes/enterprise/on-premise/auth-github)
|
||||
- [GitLab Auth](/ci/recipes/enterprise/on-premise/auth-gitlab)
|
||||
- [BitBucket Auth](/ci/recipes/enterprise/on-premise/auth-bitbucket)
|
||||
- [SAML Auth](/ci/recipes/enterprise/on-premise/auth-saml)
|
||||
|
||||
## Inviting users
|
||||
|
||||
Once that's done, you can either sign in with your admin user by using the form, or
|
||||
directly via the configured third-party authentication providers by clicking the "_Sign In with configured third-party provider_" button:
|
||||
|
||||

|
||||

|
||||
|
||||
You can then go to your organisation's settings and then to the members page and start inviting people based on their GitHub username.
|
||||
When you invite someone, Nx Cloud will generate a unique invite URL, which you can send to that person directly.
|
||||
@ -61,8 +61,8 @@ can usually be found by clicking in the top-right corner.
|
||||
|
||||
GitLab:
|
||||
|
||||

|
||||

|
||||
|
||||
GitHub:
|
||||
|
||||

|
||||

|
||||
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 194 KiB After Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 198 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 181 KiB |
|
Before Width: | Height: | Size: 298 KiB After Width: | Height: | Size: 298 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 157 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 287 KiB After Width: | Height: | Size: 287 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 166 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
@ -46,7 +46,7 @@ Once you let us know you'd like this option, depending on the agreed requirement
|
||||
|
||||
If you would like to host Nx Cloud 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](/ci/recipes/on-premise/ami-setup) for instructions on running Nx Cloud on Amazon EC2.
|
||||
Refer to our ["Self-contained VM" guide](/ci/recipes/enterprise/on-premise/ami-setup) for instructions on running Nx Cloud on Amazon EC2.
|
||||
|
||||
### Multi-node setup with Kubernetes
|
||||
|
||||
@ -57,4 +57,4 @@ We do offer, however, a multi-node Kubernetes setup, that is deployed via Helm.
|
||||
## Resources
|
||||
|
||||
- [Integration with your source control provider](/ci/recipes/source-control-integration)
|
||||
- [On-Prem specific features](/ci/recipes/on-premise/auth-single-admin)
|
||||
- [On-Prem specific features](/ci/recipes/enterprise/on-premise/auth-single-admin)
|
||||
@ -25184,203 +25184,203 @@
|
||||
"hash": "2fe6ceb807628d7cbafb7edc964ab091cbb51f50"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/admin_hidden_login.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/admin_hidden_login.png",
|
||||
"hash": "a2fbd4488b6b38f4c04101444b0a01cc33d27b33"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/bitbucket_1.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/bitbucket_1.png",
|
||||
"hash": "744c93850fe889fd0063041ea14920862efe1ef9"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/bitbucket_2.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/bitbucket_2.png",
|
||||
"hash": "febde873790a4701eea045bc921b2911ea4d9305"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/bitbucket_3.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/bitbucket_3.png",
|
||||
"hash": "c1628cebbd1cafa841a20679c36a431de119c507"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/bitbucket_4.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/bitbucket_4.png",
|
||||
"hash": "f6c7959083ef31dc93d0494df7b56fb1e506df8c"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/bitbucket_5.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/bitbucket_5.png",
|
||||
"hash": "ef04cc67127fb230aa6211a8bbb4ee01b28b8693"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/bitbucket_6.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/bitbucket_6.png",
|
||||
"hash": "5400b205c7eccfebaa571133cd57d3db8ca229a4"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github_auth_step_1.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github_auth_step_1.png",
|
||||
"hash": "aab0b76bf8ff0f310212e9b48c677f58b214fb50"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github_auth_step_2.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github_auth_step_2.png",
|
||||
"hash": "b692beb0af8fe62c9f24257da1d078c150168399"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github_auth_step_3.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github_auth_step_3.png",
|
||||
"hash": "ed380e172e65e22fef748dc49eadac5f1822227d"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github_auth_step_4.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github_auth_step_4.png",
|
||||
"hash": "a9e7efb684f638531859335d04015c1c2efb5f4c"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github_auth_step_5.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github_auth_step_5.png",
|
||||
"hash": "1bdb10946021e179e93f7d644f4eed1af472e98c"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github_auth_step_6.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github_auth_step_6.png",
|
||||
"hash": "b8e7912726397121efb1c7d7dbe4a351f722171f"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github_auth_step_7.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github_auth_step_7.png",
|
||||
"hash": "017f221fa731020e901da4903e02e330412bf184"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/github-username.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/github-username.png",
|
||||
"hash": "8075d6b794e44784525a5a70d3f545c8e117c604"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/gitlab_step_1.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/gitlab_step_1.png",
|
||||
"hash": "fef273c0dcc3ca6b26371cfcb85d3ba466bfb0e5"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/gitlab_step_2.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/gitlab_step_2.png",
|
||||
"hash": "a1726555864bfbc70b22673e67b17cc99e5bc96a"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/gitlab_step_3.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/gitlab_step_3.png",
|
||||
"hash": "308937ac1b03a1c290e7cf4093dcebe52f274ab4"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/gitlab_step_4.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/gitlab_step_4.png",
|
||||
"hash": "adb4473c0316f99103dfe5e6b20f331f913e7701"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/gitlab_step_5.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/gitlab_step_5.png",
|
||||
"hash": "5119326eec8e04bf93a0ec2e70970a9f6a1fbcbd"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/gitlab-username.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/gitlab-username.png",
|
||||
"hash": "b264bf3f64e066efaf92875a935ce02248b08bef"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/invite_members.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/invite_members.png",
|
||||
"hash": "2d38d859b8ff9f40f0dd8d3b943ccd139b5b37be"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/main_user_login.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/main_user_login.png",
|
||||
"hash": "7083d89f9687448db362542b850160bba0133eef"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/private-cloud-github-integration-add-webhook.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/private-cloud-github-integration-add-webhook.png",
|
||||
"hash": "3c8d90333938bd4c52bf831eb8cb37b888356073"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/private-cloud-github-integration-generate-token.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/private-cloud-github-integration-generate-token.png",
|
||||
"hash": "f330e3fc735f60d5e1b314339c2acd09ff7c0b7c"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_1.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_1.png",
|
||||
"hash": "dc48d010ef8a5d86099f10318cdc0fc5da43a25b"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_10.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_10.png",
|
||||
"hash": "9b683623751a05cc30efc85160197980c738288c"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_11.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_11.png",
|
||||
"hash": "eb90517fa62d143ff6c02d63b5495d0177dd43c8"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_12.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_12.png",
|
||||
"hash": "621fe56e81811675898269797e716304806a0f56"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_13.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_13.png",
|
||||
"hash": "ee60bbb6f0095382c1e2787de137194ecae026b8"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_2.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_2.png",
|
||||
"hash": "9b24d4ffe4d88480189f9e2456fc0337ed946436"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_3.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_3.png",
|
||||
"hash": "ea1527b4343e1020eb7a246394c8397693ff771d"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_4.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_4.png",
|
||||
"hash": "acd2537beeca2bea6c72099bd980404754a6c83b"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_5.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_5.png",
|
||||
"hash": "ac2568a83ae5c4f98d00a5229e45997cf6e9cab8"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_6.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_6.png",
|
||||
"hash": "137818b3c798cfc18149863a371ae22c2b4202e1"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_7.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_7.png",
|
||||
"hash": "2dd4b088f296fd12f27a91ad0e3fa6f29b9881e3"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_8.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_8.png",
|
||||
"hash": "026b01d3baced7835c07b88fd59415134f0398f1"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/azure_9.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/azure_9.png",
|
||||
"hash": "6128887c5e23b457094664d3cd31703fa8a3a18c"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_1.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_1.png",
|
||||
"hash": "cab14353a5025e89bc998e3950b056667dc0b631"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_10.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_10.png",
|
||||
"hash": "47f51224de579a00c85dbbd1466c268f21f83922"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_2.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_2.png",
|
||||
"hash": "ae6f2ee8e362317c693eecebdc989b5929c63832"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_3.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_3.png",
|
||||
"hash": "7a0446a2c35b2f87e8a41de9fd484577478514f1"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_4.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_4.png",
|
||||
"hash": "c2b4d622902ec71562014bd1eb4fadb296b3f921"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_5.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_5.png",
|
||||
"hash": "b50338567a5f0c34833d46c6bc9382fe497e454d"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_6.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_6.png",
|
||||
"hash": "65fa2b43bd0ebf19fe86978be61d0e24dd5ab336"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_7.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_7.png",
|
||||
"hash": "b1e122c2cb6fa7b0df0a7dab97a816fec7619b90"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_8.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_8.png",
|
||||
"hash": "361603f392c3bfe76572293360944cb557d450a4"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/saml/okta_9.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/saml/okta_9.png",
|
||||
"hash": "76cc172c20023b655cb35dbfb7ca3eb7a68fd3df"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/webhook-trigger-events.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/webhook-trigger-events.png",
|
||||
"hash": "f84c6c92dd42f4a16eb8fd796ec7203ac3d9d7d9"
|
||||
},
|
||||
{
|
||||
"file": "docs/nx-cloud/private/images/webhook-trigger-pull-requests.png",
|
||||
"file": "docs/nx-cloud/enterprise/on-premise/images/webhook-trigger-pull-requests.png",
|
||||
"hash": "f917c7056c2b13fed490199a95f329d46fa3ae92"
|
||||
},
|
||||
{
|
||||
|
||||
@ -294,15 +294,23 @@
|
||||
- [Enable GitHub PR Integration](/ci/recipes/source-control-integration/github)
|
||||
- [Enable Bitbucket Cloud PR Integration](/ci/recipes/source-control-integration/bitbucket-cloud)
|
||||
- [Enable GitLab MR Integration](/ci/recipes/source-control-integration/gitlab)
|
||||
- [On-Premise](/ci/recipes/on-premise)
|
||||
- [Authenticate with a Single Admin](/ci/recipes/on-premise/auth-single-admin)
|
||||
- [Authenticate with GitHub](/ci/recipes/on-premise/auth-github)
|
||||
- [On-Prem VM Setup](/ci/recipes/on-premise/ami-setup)
|
||||
- [Authenticate with GitLab](/ci/recipes/on-premise/auth-gitlab)
|
||||
- [Authenticate with BitBucket](/ci/recipes/on-premise/auth-bitbucket)
|
||||
- [Authenticate via SAML](/ci/recipes/on-premise/auth-saml)
|
||||
- [Authenticate via SAML on Managed Version](/ci/recipes/on-premise/auth-saml-managed)
|
||||
- [Advanced Configuration](/ci/recipes/on-premise/advanced-config)
|
||||
- [Enterprise](/ci/recipes/enterprise)
|
||||
- [On-Premise](/ci/recipes/enterprise/on-premise)
|
||||
- [Authenticate with a Single Admin](/ci/recipes/enterprise/on-premise/auth-single-admin)
|
||||
- [Authenticate with GitHub](/ci/recipes/enterprise/on-premise/auth-github)
|
||||
- [On-Prem VM Setup](/ci/recipes/enterprise/on-premise/ami-setup)
|
||||
- [Authenticate with GitLab](/ci/recipes/enterprise/on-premise/auth-gitlab)
|
||||
- [Authenticate with BitBucket](/ci/recipes/enterprise/on-premise/auth-bitbucket)
|
||||
- [Authenticate via SAML](/ci/recipes/enterprise/on-premise/auth-saml)
|
||||
- [Authenticate via SAML on Managed Version](/ci/recipes/enterprise/on-premise/auth-saml-managed)
|
||||
- [Advanced Configuration](/ci/recipes/enterprise/on-premise/advanced-config)
|
||||
- [Custom Distributed Task Execution](/ci/recipes/enterprise/dte)
|
||||
- [GitHub Actions Custom DTE](/ci/recipes/enterprise/dte/github-dte)
|
||||
- [Circle CI Custom DTE](/ci/recipes/enterprise/dte/circle-ci-dte)
|
||||
- [Azure Pipelines Custom DTE](/ci/recipes/enterprise/dte/azure-dte)
|
||||
- [Bitbucket Pipelines Custom DTE](/ci/recipes/enterprise/dte/bitbucket-dte)
|
||||
- [GitLab Custom DTE](/ci/recipes/enterprise/dte/gitlab-dte)
|
||||
- [Jenkins Custom DTE](/ci/recipes/enterprise/dte/jenkins-dte)
|
||||
- [Troubleshooting](/ci/recipes/troubleshooting)
|
||||
- [CI Execution Failed](/ci/recipes/troubleshooting/ci-execution-failed)
|
||||
- [Other](/ci/recipes/other)
|
||||
|
||||
@ -36,31 +36,31 @@ const pages: Array<{ title: string; path: string }> = [
|
||||
},
|
||||
{
|
||||
title: 'Auth (Basic)',
|
||||
path: '/ci/recipes/on-premise/auth-single-admin',
|
||||
path: '/ci/recipes/enterprise/on-premise/auth-single-admin',
|
||||
},
|
||||
{
|
||||
title: 'GitHub Auth',
|
||||
path: '/ci/recipes/on-premise/auth-github',
|
||||
path: '/ci/recipes/enterprise/on-premise/auth-github',
|
||||
},
|
||||
{
|
||||
title: 'GitLab Auth',
|
||||
path: '/ci/recipes/on-premise/auth-gitlab',
|
||||
path: '/ci/recipes/enterprise/on-premise/auth-gitlab',
|
||||
},
|
||||
{
|
||||
title: 'Setting up a dedicated Nx Cloud VM',
|
||||
path: '/ci/recipes/on-premise/ami-setup',
|
||||
path: '/ci/recipes/enterprise/on-premise/ami-setup',
|
||||
},
|
||||
{
|
||||
title: 'BitBucket Auth',
|
||||
path: '/ci/recipes/on-premise/auth-bitbucket',
|
||||
path: '/ci/recipes/enterprise/on-premise/auth-bitbucket',
|
||||
},
|
||||
{
|
||||
title: 'SAML Auth',
|
||||
path: '/ci/recipes/on-premise/auth-saml',
|
||||
path: '/ci/recipes/enterprise/on-premise/auth-saml',
|
||||
},
|
||||
{
|
||||
title: 'Advanced Configuration',
|
||||
path: '/ci/recipes/on-premise/advanced-config',
|
||||
path: '/ci/recipes/enterprise/on-premise/advanced-config',
|
||||
},
|
||||
{
|
||||
title: 'Configuring the Cloud Runner / Nx CLI',
|
||||
|
||||
@ -426,22 +426,41 @@ const nxCloudUrls = {
|
||||
'/core-features/distribute-task-execution':
|
||||
'/nx-cloud/features/distribute-task-execution',
|
||||
'/concepts/affected': '/ci/features/affected',
|
||||
'/nx-cloud/private-cloud': '/ci/recipes/on-premise',
|
||||
'/nx-cloud/private-cloud': '/ci/recipes/enterprise/on-premise',
|
||||
'/nx-cloud/private-cloud/get-started': '/ci/features/on-premise',
|
||||
'/nx-cloud/private-cloud/auth-single-admin':
|
||||
'/nx-cloud/recipes/on-premise/auth-single-admin',
|
||||
'/nx-cloud/recipes/enterprise/on-premise/auth-single-admin',
|
||||
'/nx-cloud/private-cloud/auth-github':
|
||||
'/nx-cloud/recipes/on-premise/auth-github',
|
||||
'/nx-cloud/private-cloud/ami-setup': '/ci/recipes/on-premise/ami-setup',
|
||||
'/nx-cloud/recipes/enterprise/on-premise/auth-github',
|
||||
'/nx-cloud/private-cloud/ami-setup':
|
||||
'/ci/recipes/enterprise/on-premise/ami-setup',
|
||||
'/nx-cloud/private-cloud/auth-gitlab':
|
||||
'/nx-cloud/recipes/on-premise/auth-gitlab',
|
||||
'/nx-cloud/recipes/enterprise/on-premise/auth-gitlab',
|
||||
'/nx-cloud/private-cloud/auth-bitbucket':
|
||||
'/nx-cloud/recipes/on-premise/auth-bitbucket',
|
||||
'/nx-cloud/private-cloud/auth-saml': '/ci/recipes/on-premise/auth-saml',
|
||||
'/nx-cloud/recipes/enterprise/on-premise/auth-bitbucket',
|
||||
'/nx-cloud/private-cloud/auth-saml':
|
||||
'/ci/recipes/enterprise/on-premise/auth-saml',
|
||||
'/nx-cloud/private-cloud/auth-saml-managed':
|
||||
'/nx-cloud/recipes/on-premise/auth-saml-managed',
|
||||
'/nx-cloud/recipes/enterprise/on-premise/auth-saml-managed',
|
||||
'/nx-cloud/private-cloud/advanced-config':
|
||||
'/nx-cloud/recipes/on-premise/advanced-config',
|
||||
'/nx-cloud/recipes/enterprise/on-premise/advanced-config',
|
||||
'/ci/recipes/on-premise': '/ci/recipes/enterprise/on-premise',
|
||||
'/ci/recipes/on-premise/auth-single-admin':
|
||||
'/ci/recipes/enterprise/on-premise/auth-single-admin',
|
||||
'/ci/recipes/on-premise/auth-github':
|
||||
'/ci/recipes/enterprise/on-premise/auth-github',
|
||||
'/ci/recipes/on-premise/ami-setup':
|
||||
'/ci/recipes/enterprise/on-premise/ami-setup',
|
||||
'/ci/recipes/on-premise/auth-gitlab':
|
||||
'/ci/recipes/enterprise/on-premise/auth-gitlab',
|
||||
'/ci/recipes/on-premise/auth-bitbucket':
|
||||
'/ci/recipes/enterprise/on-premise/auth-bitbucket',
|
||||
'/ci/recipes/on-premise/auth-saml':
|
||||
'/ci/recipes/enterprise/on-premise/auth-saml',
|
||||
'/ci/recipes/on-premise/auth-saml-managed':
|
||||
'/ci/recipes/enterprise/on-premise/auth-saml-managed',
|
||||
'/ci/recipes/on-premise/advanced-config':
|
||||
'/ci/recipes/enterprise/on-premise/advanced-config',
|
||||
'/concepts/dte': '/ci/concepts/parallelization-distribution',
|
||||
'/nx-cloud/concepts/dte': '/ci/concepts/parallelization-distribution',
|
||||
'/nx-cloud/intro/nx-cloud-workflows': '/ci/features/nx-cloud-workflows',
|
||||
|
||||