docs(core): nx cloud workflows intro (#19424)
This commit is contained in:
parent
f04519996c
commit
d3d6f0ab88
@ -14,6 +14,16 @@
|
|||||||
"isExternal": false,
|
"isExternal": false,
|
||||||
"path": "/nx-cloud/intro/what-is-nx-cloud",
|
"path": "/nx-cloud/intro/what-is-nx-cloud",
|
||||||
"tags": []
|
"tags": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nx-cloud-workflows",
|
||||||
|
"name": "Nx Cloud Workflows",
|
||||||
|
"description": "",
|
||||||
|
"file": "nx-cloud/intro/nx-cloud-workflows",
|
||||||
|
"itemList": [],
|
||||||
|
"isExternal": false,
|
||||||
|
"path": "/nx-cloud/intro/nx-cloud-workflows",
|
||||||
|
"tags": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"isExternal": false,
|
"isExternal": false,
|
||||||
@ -30,6 +40,16 @@
|
|||||||
"path": "/nx-cloud/intro/what-is-nx-cloud",
|
"path": "/nx-cloud/intro/what-is-nx-cloud",
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
|
"/nx-cloud/intro/nx-cloud-workflows": {
|
||||||
|
"id": "nx-cloud-workflows",
|
||||||
|
"name": "Nx Cloud Workflows",
|
||||||
|
"description": "",
|
||||||
|
"file": "nx-cloud/intro/nx-cloud-workflows",
|
||||||
|
"itemList": [],
|
||||||
|
"isExternal": false,
|
||||||
|
"path": "/nx-cloud/intro/nx-cloud-workflows",
|
||||||
|
"tags": []
|
||||||
|
},
|
||||||
"/nx-cloud/set-up": {
|
"/nx-cloud/set-up": {
|
||||||
"id": "set-up",
|
"id": "set-up",
|
||||||
"name": "Set Up",
|
"name": "Set Up",
|
||||||
|
|||||||
@ -5446,6 +5446,14 @@
|
|||||||
"isExternal": false,
|
"isExternal": false,
|
||||||
"children": [],
|
"children": [],
|
||||||
"disableCollapsible": false
|
"disableCollapsible": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Nx Cloud Workflows",
|
||||||
|
"path": "/nx-cloud/intro/nx-cloud-workflows",
|
||||||
|
"id": "nx-cloud-workflows",
|
||||||
|
"isExternal": false,
|
||||||
|
"children": [],
|
||||||
|
"disableCollapsible": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"disableCollapsible": false
|
"disableCollapsible": false
|
||||||
@ -5458,6 +5466,14 @@
|
|||||||
"children": [],
|
"children": [],
|
||||||
"disableCollapsible": false
|
"disableCollapsible": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Nx Cloud Workflows",
|
||||||
|
"path": "/nx-cloud/intro/nx-cloud-workflows",
|
||||||
|
"id": "nx-cloud-workflows",
|
||||||
|
"isExternal": false,
|
||||||
|
"children": [],
|
||||||
|
"disableCollapsible": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Set Up",
|
"name": "Set Up",
|
||||||
"path": "/nx-cloud/set-up",
|
"path": "/nx-cloud/set-up",
|
||||||
|
|||||||
@ -1609,6 +1609,11 @@
|
|||||||
"name": "What is Nx Cloud?",
|
"name": "What is Nx Cloud?",
|
||||||
"id": "what-is-nx-cloud",
|
"id": "what-is-nx-cloud",
|
||||||
"file": "nx-cloud/intro/nx-cloud"
|
"file": "nx-cloud/intro/nx-cloud"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Nx Cloud Workflows",
|
||||||
|
"id": "nx-cloud-workflows",
|
||||||
|
"file": "nx-cloud/intro/nx-cloud-workflows"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
51
docs/nx-cloud/intro/nx-cloud-workflows.md
Normal file
51
docs/nx-cloud/intro/nx-cloud-workflows.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# Nx Cloud Workflows
|
||||||
|
|
||||||
|
## Powerful CI Capabilities Optimized for Nx monorepos
|
||||||
|
|
||||||
|
Just like Nx and Nx Cloud, Nx Cloud Workflows enables you to offload tedious technical tasks so that you can focus on more mission-critical tasks. With a traditional CI platform, you are responsible for telling the CI platform exactly what commands to execute in which environments and what to do with the artifacts. Nx Cloud by itself can automate parallelizing tasks and sharing build artifacts across machines, but you still have to create agent machines on your CI platform.
|
||||||
|
|
||||||
|
Nx Cloud Workflows applies the insights that Nx provides to the entire CI process - taking Nx Cloud to its logical conclusion by managing the whole process of CI. Nx Cloud Workflows dynamically provisions agents and then automatically parallelizes tasks and shares build artifacts across them. Because Nx Cloud Workflows can integrate directly with Nx, it has the potential to solve problems that a traditional CI platform has no way of addressing.
|
||||||
|
|
||||||
|
## Better Distributed Task Execution Experience
|
||||||
|
|
||||||
|
Nx Cloud's Distributed Task Execution (DTE) requires you to provision agent processes on your own CI provider and then Nx Cloud takes care of distributing tasks across those agents and then consolidating the results of those tasks afterwards.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
When Nx Cloud Workflows is used for DTE, Nx Cloud will dynamically provision the agents needed for each run. This cuts down on the configuration needed and allows your organization to pay one bill to Nx instead of paying both Nx and your CI provider.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Familiar YAML Syntax
|
||||||
|
|
||||||
|
Defining your CI pipeline in Nx Cloud Workflows should feel similar to the way your current CI pipelines are defined.
|
||||||
|
|
||||||
|
```yaml {% fileName=".nx/workflows/" %}
|
||||||
|
parallelism: 8
|
||||||
|
env:
|
||||||
|
CI: 'true'
|
||||||
|
NX_CLOUD_ACCESS_TOKEN: '{{secrets.NX_CLOUD_ACCESS_TOKEN}}'
|
||||||
|
steps:
|
||||||
|
- name: Git Clone
|
||||||
|
script: |
|
||||||
|
git init .
|
||||||
|
git remote add origin $GIT_REPOSITORY_URL
|
||||||
|
git fetch --no-tags --prune --depth=1 origin +{{nxCommitSha}}:{{nxCommitRef}}
|
||||||
|
git checkout --force -B {{nxBranch}} {{nxCommitRef}}
|
||||||
|
|
||||||
|
- name: Npm Install
|
||||||
|
script: |
|
||||||
|
npm ci
|
||||||
|
|
||||||
|
- name: Run Agent
|
||||||
|
script: |
|
||||||
|
npx nx-cloud start-agent
|
||||||
|
```
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
You have the choice between an on-premise setup or using the hosted version of Nx Cloud Workflows. The hosted version of Nx Cloud Workflows uses gVisor to ensure that each container is sandboxed in a virtualized environment so your build system is protected from attackers. gVisor is the same tool that is used to protect Google Cloud Functions.
|
||||||
|
|
||||||
|
## Early Access
|
||||||
|
|
||||||
|
If you are interested in being one of the first organizations to experience Nx Cloud Workflows, contact [cloud-support@nrwl.io](mailto://cloud-support@nrwl.io).
|
||||||
@ -54,7 +54,7 @@ For existing workspaces you would probably want to adjust your configuration by
|
|||||||
|
|
||||||
Distributed task execution can work on any CI provider. You are responsible for launching jobs in your CI system. Nx
|
Distributed task execution can work on any CI provider. You are responsible for launching jobs in your CI system. Nx
|
||||||
Cloud then coordinates the way those jobs work together. There are two different kinds of jobs that you'll need to
|
Cloud then coordinates the way those jobs work together. There are two different kinds of jobs that you'll need to
|
||||||
create in your CI system.
|
create in your CI system. If you would like Nx Cloud to dynamically provision agents for you, check out [Nx Cloud Workflows](/nx-cloud/intro/nx-cloud-workflows)
|
||||||
|
|
||||||
1. Main job that controls what is going to be executed
|
1. Main job that controls what is going to be executed
|
||||||
2. Multiple agent jobs that actually execute the tasks
|
2. Multiple agent jobs that actually execute the tasks
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 95 KiB |
@ -262,6 +262,7 @@
|
|||||||
|
|
||||||
- [Intro](/nx-cloud/intro)
|
- [Intro](/nx-cloud/intro)
|
||||||
- [What is Nx Cloud?](/nx-cloud/intro/what-is-nx-cloud)
|
- [What is Nx Cloud?](/nx-cloud/intro/what-is-nx-cloud)
|
||||||
|
- [Nx Cloud Workflows](/nx-cloud/intro/nx-cloud-workflows)
|
||||||
- [Set Up](/nx-cloud/set-up)
|
- [Set Up](/nx-cloud/set-up)
|
||||||
- [Record Non-Nx Commands](/nx-cloud/set-up/record-commands)
|
- [Record Non-Nx Commands](/nx-cloud/set-up/record-commands)
|
||||||
- [Enable GitHub PR Integration](/nx-cloud/set-up/github)
|
- [Enable GitHub PR Integration](/nx-cloud/set-up/github)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user