Skip to content

Commit

Permalink
docs(nx-cloud): add feature page for GitHub integration (#28063)
Browse files Browse the repository at this point in the history
  • Loading branch information
philipjfulcher authored Sep 28, 2024
1 parent f221a41 commit 2a70629
Show file tree
Hide file tree
Showing 9 changed files with 99 additions and 1 deletion.
2 changes: 1 addition & 1 deletion docs/blog/2024-09-10-personal-access-tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ platform so that they're no longer committed to your repo.
[Personal access tokens](/ci/recipes/security/personal-access-tokens) are a new type of access token that is scoped to
an individual user, rather than the workspace. This token authenticates the user with Nx Cloud when running tasks, so that we can validate their access to the distributed cache for a workspace. As soon as a user loses access to an Nx Cloud organization, they will no longer be able to access the cache for any of the organization's workspaces. The user's token belongs to them and will still allow access to their remaining organizations.

This gets even more powerful when combined with the GitHub VCS integration. When a user's GitHub access is removed from
This gets even more powerful when combined with the [GitHub integration](/ci/features/github-integration). When a user's GitHub access is removed from
a GitHub-connected organization, their access to your Nx Cloud organization is removed, and their access to the cache for any of the organization's workspaces is removed.
This means that Nx Cloud can fit into existing user de-provisioning processes you already have.

Expand Down
22 changes: 22 additions & 0 deletions docs/generated/manifests/ci.json
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,17 @@
"isExternal": false,
"path": "/ci/features/explain-with-ai",
"tags": []
},
{
"id": "github-integration",
"name": "GitHub Integration",
"description": "",
"mediaImage": "",
"file": "nx-cloud/features/github-integration",
"itemList": [],
"isExternal": false,
"path": "/ci/features/github-integration",
"tags": []
}
],
"isExternal": false,
Expand Down Expand Up @@ -333,6 +344,17 @@
"path": "/ci/features/explain-with-ai",
"tags": []
},
"/ci/features/github-integration": {
"id": "github-integration",
"name": "GitHub Integration",
"description": "",
"mediaImage": "",
"file": "nx-cloud/features/github-integration",
"itemList": [],
"isExternal": false,
"path": "/ci/features/github-integration",
"tags": []
},
"/ci/concepts": {
"id": "concepts",
"name": "Concepts",
Expand Down
16 changes: 16 additions & 0 deletions docs/generated/manifests/menus.json
Original file line number Diff line number Diff line change
Expand Up @@ -5627,6 +5627,14 @@
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "GitHub Integration",
"path": "/ci/features/github-integration",
"id": "github-integration",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
Expand Down Expand Up @@ -5687,6 +5695,14 @@
"children": [],
"disableCollapsible": false
},
{
"name": "GitHub Integration",
"path": "/ci/features/github-integration",
"id": "github-integration",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Concepts",
"path": "/ci/concepts",
Expand Down
5 changes: 5 additions & 0 deletions docs/map.json
Original file line number Diff line number Diff line change
Expand Up @@ -1721,6 +1721,11 @@
"name": "Explain With AI",
"id": "explain-with-ai",
"file": "nx-cloud/features/explain-with-ai"
},
{
"name": "GitHub Integration",
"id": "github-integration",
"file": "nx-cloud/features/github-integration"
}
]
},
Expand Down
54 changes: 54 additions & 0 deletions docs/nx-cloud/features/github-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# GitHub integration

Any CI tool requires tight integration with your existing version control system. Nx Cloud offers first class integration with GitHub in the following ways.

## Easy Onboarding

![Screenshot of Nx Cloud connecting a GitHub repository](/nx-cloud/features/github-onboarding.avif)

Get started with Nx Cloud in no time with our GitHub connection process. Connect your workspace, and Nx Cloud will create a pull request with everything you need. Select your workspace and organization, and Nx Cloud takes care of the rest. User access is automatically connected to GitHub, and a PR is created to connect your workspace. Your repo now has [distributed caching](/ci/features/remote-cache) in less than 5 minutes.

## Pull Request insights

![Screenshot of Nx Cloud app for GitHub showing pull request insights](/nx-cloud/features/github-pr-bot.avif)

Good CI checks require fast and easy access to results. That's why Nx Cloud will update your PR with the current running status of your tasks and a convenient link to your Nx Cloud results and logs. Take advantage of the enhanced developer experience of structured and searchable logs. Quick insight to PR task progress, so you're not stuck waiting for every task to complete. And with Nx Replay, developers can quickly replay tasks locally to avoid running tasks that CI has already completed.

## Access control

![Diagram showing users syncing from GitHub to Nx Cloud](/nx-cloud/features/github-user-management.avif)

Nx Cloud organizations can use their existing GitHub access controls to manage Nx Cloud as well. This allows Nx Cloud to fit in to any existing on-boarding or off-boarding process. There's no need to manually manage users separately. Get your engineers Nx Cloud access right alongside their GitHub access so they can get to work fast. Use [personal access tokens](/ci/recipes/security/personal-access-tokens) to further enhance your security.

## Get started

First, you'll want to connect your Nx Cloud account to GitHub. You can use your regular username and password or log in via Google or GitHub, connecting to GitHub is a separate step.

{% call-to-action title="Connect to GitHub" url="https://cloud.nx.app/profile/vcs-integrations" icon="nxcloud" description="Connect your Nx Cloud account to GitHub via your profile settings" %}
Connect to GitHub
{% /call-to-action %}

## Connect a new workspace and organization

1. Visit [Nx Cloud](https://cloud.nx.app) and click **Connect a workspace** at the top.
2. Select **Connect existing repository** from the dropdown.
3. Follow the prompts to select a repo.
4. If that repo is controlled by a GitHub organization, you will be prompted to use that organization.
5. Follow the prompts to create a pull request to complete your connection to Nx Cloud.

{% call-to-action title="Connect a workspace to Nx Cloud" url="https://cloud.nx.app/setup/connect-workspace/github/select" icon="nxcloud" description="Connect an Nx workspace in GitHub to Nx Cloud" %}
Connect an Nx workspace in GitHub to Nx Cloud
{% /call-to-action %}

## Connect an existing organization

If you've already created an organization in Nx Cloud, and you'd like to use your GitHub organization to manage access to it:

1. Go to the organization in Nx Cloud while logged in as an admin user.
2. Click on **Settings** in the top menu
3. Go to **Connect GitHub organization in the sidebar**
4. Follow the prompts there to connect to GitHub.

## Connect an existing workspace

If you already have a workspace connected to Nx Cloud, and you'd like to connect it to a GitHub repo to enable PR insights, [see our recipe for more details.](/ci/recipes/source-control-integration/github)
Binary file added docs/nx-cloud/features/github-onboarding.avif
Binary file not shown.
Binary file added docs/nx-cloud/features/github-pr-bot.avif
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions docs/shared/reference/sitemap.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@
- [Identify and Re-run Flaky Tasks](/ci/features/flaky-tasks)
- [Dynamically Allocate Agents](/ci/features/dynamic-agents)
- [Explain With AI](/ci/features/explain-with-ai)
- [GitHub Integration](/ci/features/github-integration)
- [Concepts](/ci/concepts)
- [The Building Blocks of Fast CI](/ci/concepts/building-blocks-fast-ci)
- [Reduce Wasted Time in CI](/ci/concepts/reduce-waste)
Expand Down

0 comments on commit 2a70629

Please sign in to comment.