diff --git a/docs/generated/manifests/ci.json b/docs/generated/manifests/ci.json index f3345bdb06..72c132ba8d 100644 --- a/docs/generated/manifests/ci.json +++ b/docs/generated/manifests/ci.json @@ -560,14 +560,14 @@ "tags": [] }, { - "id": "bitbucket-cloud", - "name": "Enable Bitbucket Cloud PR Integration", + "id": "bitbucket", + "name": "Enable Bitbucket PR Integration", "description": "", "mediaImage": "", - "file": "nx-cloud/set-up/bitbucket-cloud", + "file": "nx-cloud/set-up/bitbucket", "itemList": [], "isExternal": false, - "path": "/ci/recipes/source-control-integration/bitbucket-cloud", + "path": "/ci/recipes/source-control-integration/bitbucket", "tags": [] }, { @@ -677,6 +677,17 @@ "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket", "tags": [] }, + { + "id": "auth-bitbucket-data-center", + "name": "Authenticate with BitBucket Data Center", + "description": "", + "mediaImage": "", + "file": "nx-cloud/enterprise/on-premise/auth-bitbucket-data-center", + "itemList": [], + "isExternal": false, + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "tags": [] + }, { "id": "auth-saml", "name": "Authenticate via SAML", @@ -1089,14 +1100,14 @@ "tags": [] }, { - "id": "bitbucket-cloud", - "name": "Enable Bitbucket Cloud PR Integration", + "id": "bitbucket", + "name": "Enable Bitbucket PR Integration", "description": "", "mediaImage": "", - "file": "nx-cloud/set-up/bitbucket-cloud", + "file": "nx-cloud/set-up/bitbucket", "itemList": [], "isExternal": false, - "path": "/ci/recipes/source-control-integration/bitbucket-cloud", + "path": "/ci/recipes/source-control-integration/bitbucket", "tags": [] }, { @@ -1137,15 +1148,15 @@ "path": "/ci/recipes/source-control-integration/github", "tags": [] }, - "/ci/recipes/source-control-integration/bitbucket-cloud": { - "id": "bitbucket-cloud", - "name": "Enable Bitbucket Cloud PR Integration", + "/ci/recipes/source-control-integration/bitbucket": { + "id": "bitbucket", + "name": "Enable Bitbucket PR Integration", "description": "", "mediaImage": "", - "file": "nx-cloud/set-up/bitbucket-cloud", + "file": "nx-cloud/set-up/bitbucket", "itemList": [], "isExternal": false, - "path": "/ci/recipes/source-control-integration/bitbucket-cloud", + "path": "/ci/recipes/source-control-integration/bitbucket", "tags": [] }, "/ci/recipes/source-control-integration/gitlab": { @@ -1250,6 +1261,17 @@ "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket", "tags": [] }, + { + "id": "auth-bitbucket-data-center", + "name": "Authenticate with BitBucket Data Center", + "description": "", + "mediaImage": "", + "file": "nx-cloud/enterprise/on-premise/auth-bitbucket-data-center", + "itemList": [], + "isExternal": false, + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "tags": [] + }, { "id": "auth-saml", "name": "Authenticate via SAML", @@ -1455,6 +1477,17 @@ "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket", "tags": [] }, + { + "id": "auth-bitbucket-data-center", + "name": "Authenticate with BitBucket Data Center", + "description": "", + "mediaImage": "", + "file": "nx-cloud/enterprise/on-premise/auth-bitbucket-data-center", + "itemList": [], + "isExternal": false, + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "tags": [] + }, { "id": "auth-saml", "name": "Authenticate via SAML", @@ -1570,6 +1603,17 @@ "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket", "tags": [] }, + "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center": { + "id": "auth-bitbucket-data-center", + "name": "Authenticate with BitBucket Data Center", + "description": "", + "mediaImage": "", + "file": "nx-cloud/enterprise/on-premise/auth-bitbucket-data-center", + "itemList": [], + "isExternal": false, + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "tags": [] + }, "/ci/recipes/enterprise/on-premise/auth-saml": { "id": "auth-saml", "name": "Authenticate via SAML", diff --git a/docs/generated/manifests/menus.json b/docs/generated/manifests/menus.json index 01d0780b75..a84132e205 100644 --- a/docs/generated/manifests/menus.json +++ b/docs/generated/manifests/menus.json @@ -5559,9 +5559,9 @@ "disableCollapsible": false }, { - "name": "Enable Bitbucket Cloud PR Integration", - "path": "/ci/recipes/source-control-integration/bitbucket-cloud", - "id": "bitbucket-cloud", + "name": "Enable Bitbucket PR Integration", + "path": "/ci/recipes/source-control-integration/bitbucket", + "id": "bitbucket", "isExternal": false, "children": [], "disableCollapsible": false @@ -5645,6 +5645,14 @@ "children": [], "disableCollapsible": false }, + { + "name": "Authenticate with BitBucket Data Center", + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "id": "auth-bitbucket-data-center", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, { "name": "Authenticate via SAML", "path": "/ci/recipes/enterprise/on-premise/auth-saml", @@ -5945,9 +5953,9 @@ "disableCollapsible": false }, { - "name": "Enable Bitbucket Cloud PR Integration", - "path": "/ci/recipes/source-control-integration/bitbucket-cloud", - "id": "bitbucket-cloud", + "name": "Enable Bitbucket PR Integration", + "path": "/ci/recipes/source-control-integration/bitbucket", + "id": "bitbucket", "isExternal": false, "children": [], "disableCollapsible": false @@ -5980,9 +5988,9 @@ "disableCollapsible": false }, { - "name": "Enable Bitbucket Cloud PR Integration", - "path": "/ci/recipes/source-control-integration/bitbucket-cloud", - "id": "bitbucket-cloud", + "name": "Enable Bitbucket PR Integration", + "path": "/ci/recipes/source-control-integration/bitbucket", + "id": "bitbucket", "isExternal": false, "children": [], "disableCollapsible": false @@ -6063,6 +6071,14 @@ "children": [], "disableCollapsible": false }, + { + "name": "Authenticate with BitBucket Data Center", + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "id": "auth-bitbucket-data-center", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, { "name": "Authenticate via SAML", "path": "/ci/recipes/enterprise/on-premise/auth-saml", @@ -6212,6 +6228,14 @@ "children": [], "disableCollapsible": false }, + { + "name": "Authenticate with BitBucket Data Center", + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "id": "auth-bitbucket-data-center", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, { "name": "Authenticate via SAML", "path": "/ci/recipes/enterprise/on-premise/auth-saml", @@ -6295,6 +6319,14 @@ "children": [], "disableCollapsible": false }, + { + "name": "Authenticate with BitBucket Data Center", + "path": "/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center", + "id": "auth-bitbucket-data-center", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, { "name": "Authenticate via SAML", "path": "/ci/recipes/enterprise/on-premise/auth-saml", diff --git a/docs/map.json b/docs/map.json index 40a097483c..c90f4ad496 100644 --- a/docs/map.json +++ b/docs/map.json @@ -1744,9 +1744,9 @@ "file": "nx-cloud/set-up/github" }, { - "name": "Enable Bitbucket Cloud PR Integration", - "id": "bitbucket-cloud", - "file": "nx-cloud/set-up/bitbucket-cloud" + "name": "Enable Bitbucket PR Integration", + "id": "bitbucket", + "file": "nx-cloud/set-up/bitbucket" }, { "name": "Enable GitLab MR Integration", @@ -1802,6 +1802,11 @@ "id": "auth-bitbucket", "file": "nx-cloud/enterprise/on-premise/auth-bitbucket" }, + { + "name": "Authenticate with BitBucket Data Center", + "id": "auth-bitbucket-data-center", + "file": "nx-cloud/enterprise/on-premise/auth-bitbucket-data-center" + }, { "name": "Authenticate via SAML", "id": "auth-saml", diff --git a/docs/nx-cloud/enterprise/on-premise/advanced-config.md b/docs/nx-cloud/enterprise/on-premise/advanced-config.md index e7f79f5f95..994fbe1ca0 100644 --- a/docs/nx-cloud/enterprise/on-premise/advanced-config.md +++ b/docs/nx-cloud/enterprise/on-premise/advanced-config.md @@ -2,15 +2,7 @@ ## Troubleshooting and Verbose Logging -To help troubleshoot installations, add the following env variables when starting the container: - -``` --e NX_VERBOSE_LOGGING=true --e NX_API_LOG_LEVEL=DEBUG --e NX_MONGO_LOG_LEVEL=DEBUG -``` - -or if using helm set `verboseLogging` to `'true'`: +To help troubleshoot installations set `verboseLogging` to `'true'`: ```yaml image: @@ -30,10 +22,6 @@ source [MongoDB Kubernetes Operator](https://github.com/mongodb/mongodb-kubernet your own deployment of MongoDB. See [the Nx Cloud Kubernetes example](https://github.com/nrwl/nxcloud-k8s-setup) for more information. -### Using CosmosDB - -If you are deploying to Azure, you might have access to CosmosDB. See here for more information. - ### Using Mongo Atlas [Mongo Atlas](https://mongodb.com/) is a great option for deploying MongoDB. diff --git a/docs/nx-cloud/enterprise/on-premise/ami-setup.md b/docs/nx-cloud/enterprise/on-premise/ami-setup.md index f0514c6afa..12d4c7910d 100644 --- a/docs/nx-cloud/enterprise/on-premise/ami-setup.md +++ b/docs/nx-cloud/enterprise/on-premise/ami-setup.md @@ -116,6 +116,7 @@ nxCloudAppURL: 'https://nx-cloud.on.my-domain.ca' # make sure no backslash is at # we do not support self-hosted bitbucket instances #bitbucket: +# apiUrl: '' (if using Data Center/on-prem) # auth: # enabled: false diff --git a/docs/nx-cloud/enterprise/on-premise/auth-bitbucket-data-center.md b/docs/nx-cloud/enterprise/on-premise/auth-bitbucket-data-center.md new file mode 100644 index 0000000000..c2b910c8ee --- /dev/null +++ b/docs/nx-cloud/enterprise/on-premise/auth-bitbucket-data-center.md @@ -0,0 +1,23 @@ +# BitBucket Data Center Auth + +This page is for configuring auth via BitBucket Data Center (on-prem). If you are using BitBucket Cloud please refer to the docs [here](/ci/recipes/enterprise/on-premise/auth-bitbucket). + +Before creating your container, your Bitbucket Data Center admin will need to create an "Application Link". + +## Creating an Application Link + +Your BitBucket installation admin will need to navigate to their installation settings: + +![Step 1](/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_1.png) + +Then "Application Links": + +![Step 2](/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_2.png) + +And create a new link using the settings below (make sure the callback URL is pointed to your BitBucket installation): + +![Step 3](/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_3.png) + +## Connect your Nx Cloud installation to your new app + +It's now time to enable auth on NxCloud. Refer to the [auth guide](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md) here for instructions on configuring your Helm values file. diff --git a/docs/nx-cloud/enterprise/on-premise/auth-bitbucket.md b/docs/nx-cloud/enterprise/on-premise/auth-bitbucket.md index 2a5db0659f..88e2f73b47 100644 --- a/docs/nx-cloud/enterprise/on-premise/auth-bitbucket.md +++ b/docs/nx-cloud/enterprise/on-premise/auth-bitbucket.md @@ -1,8 +1,8 @@ -# BitBucket Auth +# BitBucket Cloud Auth -Nx Private Cloud currently only support **public** BitBucket auth. On-prem installation of BitBucket Server are currently not supported. +This page is only for BitBucket Cloud (bitbucket.org). If you have an on-premise version of BitBucket Data Center please refer to the docs [here](/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center). -Before creating your container, you'll need to create a BitBucket "OAuth consumer" for your organisation. +First, you'll need to create a BitBucket "OAuth consumer" for your organisation. ## Creating a BitBucket OAuth consumer @@ -45,11 +45,4 @@ Once you create, keep a note of the Key and the Secret: ## Connect your Nx Cloud installation to your new app -Provide the following env variables to the `nx-cloud-frontend` container: - -- `BITBUCKET_APP_ID` -- `BITBUCKET_APP_SECRET` - -{% callout title="Helm Chart Environment Variables" %} -If you are using our Helm chart, you can find all the information you need about env variables in [the Helm chart repository](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md). -{% /callout %} +It's now time to enable auth on NxCloud. Refer to the [auth guide](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md) here for instructions on configuring your Helm values file. diff --git a/docs/nx-cloud/enterprise/on-premise/auth-github.md b/docs/nx-cloud/enterprise/on-premise/auth-github.md index 921fb2eb01..5773fbcdef 100644 --- a/docs/nx-cloud/enterprise/on-premise/auth-github.md +++ b/docs/nx-cloud/enterprise/on-premise/auth-github.md @@ -41,49 +41,4 @@ And then generate a new client secret, and save it somewhere secure (we'll use i ## Configure Nx Cloud Installation -### Using Helm: - -```yaml -image: - tag: 'latest' - -nxCloudAppURL: 'https://nx-cloud.myorg.com' - -github: - auth: - enabled: true - -secret: - name: 'cloudsecret' - nxCloudMongoServerEndpoint: 'NX_CLOUD_MONGO_SERVER_ENDPOINT' - githubAuthClientId: 'GITHUB_AUTH_CLIENT_ID' - githubAuthClientSecret: 'GITHUB_AUTH_CLIENT_SECRET' -``` - -Note that the secret must contain `GITHUB_AUTH_CLIENT_ID` and `GITHUB_AUTH_CLIENT_SECRET` ( -see [Nx Cloud Helm Charts](https://github.com/nrwl/nx-cloud-helm) for more context). - -### Not using Helm: - -Provide the following env variables to the `nx-cloud-frontend` container: - -- `GITHUB_AUTH_CLIENT_ID` -- `GITHUB_AUTH_CLIENT_SECRET` - -{% callout title="Helm Chart Environment Variables" %} -If you are using our Helm chart, you can find all the information you need about env variables in [the Helm chart repository](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md). -{% /callout %} - -## GitHub Enterprise - -If you are running a self-hosted version of GitHub (Enterprise Server), you will need to configure one additional -environment variable: - -`GITHUB_API_URL=https://custom-github-instance.com` - -This will point all auth endpoints to your GitHub server (rather the public one). - -{% callout type="check" title="Good to know!" %} -The above environment variable, also helps with setting up the GitHub app integration, so you can have Nx Cloud build -stats directly on your pull request. See full set up instructions [here](/ci/recipes/source-control-integration/github). -{% /callout %} +It's now time to enable auth on NxCloud. Refer to the [auth guide](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md) here for instructions on configuring your Helm values file. diff --git a/docs/nx-cloud/enterprise/on-premise/auth-gitlab.md b/docs/nx-cloud/enterprise/on-premise/auth-gitlab.md index 4d081f17f8..cc58c85b9a 100644 --- a/docs/nx-cloud/enterprise/on-premise/auth-gitlab.md +++ b/docs/nx-cloud/enterprise/on-premise/auth-gitlab.md @@ -37,19 +37,4 @@ Once you create, keep a note of the Client ID and the Secret: ## Connect your Nx Cloud installation to your new app -Provide the following env variables to the `nx-cloud-frontend` container: - -- `GITLAB_APP_ID` -- `GITLAB_APP_SECRET` - -{% callout title="Helm Chart Environment Variables" %} -If you are using our Helm chart, you can find all the information you need about env variables in [the Helm chart repository](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md). -{% /callout %} - -## Self-hosted GitLab - -If you are running a self-hosted version of GitLab, you will need to configure one additional environment variable: - -`GITLAB_API_URL=https://custom-gitlab-instance.com` - -This will point all the auth endpoints to your GitLab server (rather the public one). +It's now time to enable auth on NxCloud. Refer to the [auth guide](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md) here for instructions on configuring your Helm values file. diff --git a/docs/nx-cloud/enterprise/on-premise/auth-saml.md b/docs/nx-cloud/enterprise/on-premise/auth-saml.md index 5db43887c1..cd58f9b0c6 100644 --- a/docs/nx-cloud/enterprise/on-premise/auth-saml.md +++ b/docs/nx-cloud/enterprise/on-premise/auth-saml.md @@ -130,30 +130,6 @@ if you are interested. ![Okta 10](/nx-cloud/enterprise/on-premise/images/saml/okta_10.png) -12. Then add these two env vars to your secrets (see [Helm config](#helm-config) below): - 1. `SAML_CERT=` - 2. `SAML_ENTRY_POINT=` - ## Helm config -If you are using [Helm to deploy Nx Cloud](https://github.com/nrwl/nx-cloud-helm) you -will need to configure the below two values, as well as make the `SAML_CERT` and `SAML_ENTRY_POINT` -env vars as secrets: - -```yaml -# helm-values.yml -addonUnlockKey: '' - -saml: - enabled: true - -# secrets.yml -apiVersion: v1 -kind: Secret -metadata: - name: nxcloudsecret -type: Opaque -stringData: - SAML_CERT: '-----BEGIN CERTIFICATE-----\nblablablabla\n-----END CERTIFICATE-----\n' - SAML_ENTRY_POINT: 'https://some-oktaurl.com/sso/saml' -``` +It's now time to enable auth on NxCloud. Refer to the [auth guide](https://github.com/nrwl/nx-cloud-helm/blob/main/AUTH-GUIDE.md) here for instructions on configuring your Helm values file. diff --git a/docs/nx-cloud/enterprise/on-premise/auth-single-admin.md b/docs/nx-cloud/enterprise/on-premise/auth-single-admin.md index c47abe1d4f..73c05bf92c 100644 --- a/docs/nx-cloud/enterprise/on-premise/auth-single-admin.md +++ b/docs/nx-cloud/enterprise/on-premise/auth-single-admin.md @@ -36,6 +36,7 @@ For instructions on how to set up third-party auth providers, please refer to th - [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) +- [BitBucket Data Center Auth](/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center) - [SAML Auth](/ci/recipes/enterprise/on-premise/auth-saml) ## Inviting users diff --git a/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_1.png b/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_1.png new file mode 100644 index 0000000000..a32fa3bd2f Binary files /dev/null and b/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_1.png differ diff --git a/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_2.png b/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_2.png new file mode 100644 index 0000000000..286054d84c Binary files /dev/null and b/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_2.png differ diff --git a/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_3.png b/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_3.png new file mode 100644 index 0000000000..feb9683bbe Binary files /dev/null and b/docs/nx-cloud/enterprise/on-premise/images/bitbucket_onprem_3.png differ diff --git a/docs/nx-cloud/recipes/encryption.md b/docs/nx-cloud/recipes/encryption.md index 4700494ab3..9c4e769c36 100644 --- a/docs/nx-cloud/recipes/encryption.md +++ b/docs/nx-cloud/recipes/encryption.md @@ -22,5 +22,5 @@ Data is encrypted both at rest and in transit. - Every communication with the Nx Cloud API is encrypted in transit, including fetching/storing artifacts. - When using Nx Public Cloud, the stored metadata is encrypted. - When using Nx Public Cloud and e2e encryption, stored artifacts are encrypted. -- When using the on-prem version of Nx Cloud, the stored metadata is encrypted if you run MongoDB yourself with encryption on (or if you, for instance, use CosmosDB) +- When using the on-prem version of Nx Cloud, the stored metadata is encrypted if you run MongoDB yourself with encryption on - When using the on-prem version of Nx Cloud, stored artifacts are encrypted using e2e encryption. diff --git a/docs/nx-cloud/set-up/add-bitbucket-cloud-repository.webp b/docs/nx-cloud/set-up/add-bitbucket-cloud-repository.webp deleted file mode 100644 index 3cb2d70c64..0000000000 Binary files a/docs/nx-cloud/set-up/add-bitbucket-cloud-repository.webp and /dev/null differ diff --git a/docs/nx-cloud/set-up/bitbucket-cloud.md b/docs/nx-cloud/set-up/bitbucket-cloud.md deleted file mode 100644 index 66d59b4d48..0000000000 --- a/docs/nx-cloud/set-up/bitbucket-cloud.md +++ /dev/null @@ -1,35 +0,0 @@ -# Enable Bitbucket Cloud PR Integration - -## Get Started - -The Nx Cloud + Bitbucket Cloud Integration lets you access the result of every run—with all its logs and build insights—straight from your PR. - -## Connecting Your Workspace - -![Access VCS Setup](/nx-cloud/set-up/access-vcs-setup.webp) - -Once on the VCS Integrations setup page, select "Bitbucket". You will be prompted to enter the name of your workspace and its repository slug. - -Identifying your workspace name and repository slug can be done by looking at the URL from Bitbucket. - -``` -https://bitbucket.org/[workspace]/[repository-slug]/src/main/ -``` - -For example, the url `https://bitbucket.org/nrwl/large-monorepo/src/main/` has a workspace name of "nrwl", and a repository slug of "large-monorepo". - -![Add Bitbucket Cloud Repository](/nx-cloud/set-up/add-bitbucket-cloud-repository.webp) - -### Configuring Authentication - -#### Using an App Password - -To use an app password for authentication, one must be generated with proper permissions. The minimum required permissions are write access to PRs. - -![Create App Password](/nx-cloud/set-up/minimal-bitbucket-cloud-app-password.webp) - -Once the app password is created, verify the username is correct, paste the value, and then click "Connect". This will verify that Nx Cloud can connect to your repo. Upon a successful test, your configuration is saved, and setup is complete. - -{% callout type="note" title="Use the correct username" %} -Make sure that you are using your Bitbucket username, found on the [account settings](https://bitbucket.org/account/settings/) screen, and not your email address. -{% /callout %} diff --git a/docs/nx-cloud/set-up/bitbucket-data-center-access-token.png b/docs/nx-cloud/set-up/bitbucket-data-center-access-token.png new file mode 100644 index 0000000000..38f1b20abb Binary files /dev/null and b/docs/nx-cloud/set-up/bitbucket-data-center-access-token.png differ diff --git a/docs/nx-cloud/set-up/bitbucket.md b/docs/nx-cloud/set-up/bitbucket.md new file mode 100644 index 0000000000..b36770d90d --- /dev/null +++ b/docs/nx-cloud/set-up/bitbucket.md @@ -0,0 +1,46 @@ +# Enable Bitbucket Integration + +## Get Started + +The Nx Cloud + Bitbucket Integration lets you access the result of every run—with all its logs and build insights—straight from your PR. + +### Allow NxCloud to authenticate to your BitBucket repository + +#### Using an App Password + +If you are using BitBucket Cloud (bitbucket.org) and are not self-hosting it, you can enable an ["app password" for authentication](https://support.atlassian.com/bitbucket-cloud/docs/create-an-app-password). + +The minimum required permissions are write access to PRs: + +![Create App Password](/nx-cloud/set-up/minimal-bitbucket-cloud-app-password.webp) + +Once the app password is created, save it in a secure location and then head back to your workspace settings on NxCloud and let's set up a BitBucket integration: + +![Access VCS Setup](/nx-cloud/set-up/access-vcs-setup.webp) + +1. Fill-in all the required fields for selecting your Bitbucket repository +2. Username is found on the [account settings](https://bitbucket.org/account/settings/) screen (it is not your email address) +3. Paste your app password created earlier into the Access Token box +4. That's it! + +#### Using an HTTP Access Tokens + +If you are using BitBucket Data Center (on-prem) you need to enable ["HTTP Access Tokens" for authentication](https://confluence.atlassian.com/bitbucketserver/http-access-tokens-939515499.html). + +{% callout type="note" title="User linked access tokens" %} +Due to the type of APIs NxCloud needs to call, we need to create an access [**at the user level**](https://confluence.atlassian.com/bitbucketserver/http-access-tokens-939515499.html). Repo level access tokens will not work. +{% /callout %} + +The minimum required permissions are write access to the repository: + +![Create an HTTP Access Token](/nx-cloud/set-up/bitbucket-data-center-access-token.png) + +Once the token is created, save it in a secure location and then head back to your workspace settings on NxCloud and let's set up a BitBucket integration: + +![Access VCS Setup](/nx-cloud/set-up/access-vcs-setup.webp) + +1. Fill-in all the required fields for selecting your Bitbucket repository +2. Username is found on the [account settings](https://your-bitbucket-instance.com/profile) screen (it is not your email address) +3. Paste your access token created earlier into the Access Token box +4. Make sure you give NxCloud the URL of your BitBucket instance (this can be in the simple form of `https://your-bitbucket-instance.com`) +5. That's it! diff --git a/docs/shared/features/distribute-task-execution.md b/docs/shared/features/distribute-task-execution.md index 092582c078..9ea4abb473 100644 --- a/docs/shared/features/distribute-task-execution.md +++ b/docs/shared/features/distribute-task-execution.md @@ -37,7 +37,7 @@ For a more thorough explanation of how Nx Agents optimizes your CI pipeline, rea To enable task distribution with Nx Agents, there are two requirements: -1. Enable version control system integration. The integrations currently available are [GitHub](/ci/recipes/source-control-integration/github), [GitLab](/ci/recipes/source-control-integration/gitlab), [Bitbucket](/ci/recipes/source-control-integration/bitbucket-cloud) and [Azure DevOps](/ci/recipes/source-control-integration/azure-devops). These integrations can be enabled from your [Nx Cloud dashboard](https://nx.app). +1. Enable version control system integration. The integrations currently available are [GitHub](/ci/recipes/source-control-integration/github), [GitLab](/ci/recipes/source-control-integration/gitlab), [Bitbucket](/ci/recipes/source-control-integration/bitbucket) and [Azure DevOps](/ci/recipes/source-control-integration/azure-devops). These integrations can be enabled from your [Nx Cloud dashboard](https://nx.app). 2. Add a single line to your CI pipeline configuration. Add the `start-ci-run` command to your CI pipeline configuration after checking out the repository and before installing `node_modules`: diff --git a/docs/shared/reference/sitemap.md b/docs/shared/reference/sitemap.md index e6d8d942f4..8c87e191d1 100644 --- a/docs/shared/reference/sitemap.md +++ b/docs/shared/reference/sitemap.md @@ -276,7 +276,7 @@ - [Enable End to End Encryption](/ci/recipes/security/encryption) - [Source Control Integration](/ci/recipes/source-control-integration) - [Enable GitHub PR Integration](/ci/recipes/source-control-integration/github) - - [Enable Bitbucket Cloud PR Integration](/ci/recipes/source-control-integration/bitbucket-cloud) + - [Enable Bitbucket PR Integration](/ci/recipes/source-control-integration/bitbucket) - [Enable GitLab MR Integration](/ci/recipes/source-control-integration/gitlab) - [Enable Azure DevOps PR Integration](/ci/recipes/source-control-integration/azure-devops) - [Enterprise](/ci/recipes/enterprise) @@ -287,6 +287,7 @@ - [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 with BitBucket Data Center](/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center) - [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) diff --git a/nx-dev/nx-dev-e2e/src/nx-cloud-documentation.spec.ts b/nx-dev/nx-dev-e2e/src/nx-cloud-documentation.spec.ts index 88a4250eee..5a898be131 100644 --- a/nx-dev/nx-dev-e2e/src/nx-cloud-documentation.spec.ts +++ b/nx-dev/nx-dev-e2e/src/nx-cloud-documentation.spec.ts @@ -51,9 +51,13 @@ const pages: Array<{ title: string; path: string }> = [ path: '/ci/recipes/enterprise/on-premise/ami-setup', }, { - title: 'BitBucket Auth', + title: 'BitBucket Cloud Auth', path: '/ci/recipes/enterprise/on-premise/auth-bitbucket', }, + { + title: 'BitBucket Data Center Auth', + path: '/ci/recipes/enterprise/on-premise/auth-bitbucket-data-center', + }, { title: 'SAML Auth', path: '/ci/recipes/enterprise/on-premise/auth-saml', diff --git a/nx-dev/nx-dev/redirect-rules.js b/nx-dev/nx-dev/redirect-rules.js index 1c264c7c10..5fbe7e48ef 100644 --- a/nx-dev/nx-dev/redirect-rules.js +++ b/nx-dev/nx-dev/redirect-rules.js @@ -418,7 +418,9 @@ const nxCloudUrls = { '/nx-cloud/set-up/github': '/nx-cloud/recipes/source-control-integration/github', '/nx-cloud/set-up/bitbucket-cloud': - '/nx-cloud/recipes/source-control-integration/bitbucket-cloud', + '/ci/recipes/source-control-integration/bitbucket', + '/nx-cloud/recipes/source-control-integration/bitbucket-cloud': + '/ci/recipes/source-control-integration/bitbucket', '/nx-cloud/set-up/gitlab': '/nx-cloud/recipes/source-control-integration/gitlab', '/core-features/remote-cache': '/ci/features/remote-cache',