diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 0a64bd1308a..ddcb081323f 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -119,6 +119,15 @@ * [Vulnerability Scanning (Clair)](user-guide/integrations/clair.md) * [Notifications](user-guide/integrations/notifications.md) * [Monitoring (Grafana)](user-guide/integrations/grafana.md) +* [Preset Plugins](user-guide/plugins/README.md) + * [K6 Load Testing](user-guide/plugins/k6-load-testing.md) + * [SonarQube](user-guide/plugins/sonarqube.md) + * [Dependency track - Python](user-guide/plugins/dependency-track-python.md) + * [Dependency track - NodeJS](user-guide/plugins/dependency-track-nodejs.md) + * [Dependency track - Maven & Gradle](user-guide/plugins/dependency-track-maven-gradle.md) + * [Semgrep](user-guide/plugins/semgrep.md) + * [Codacy](user-guide/plugins/codacy.md) + * [Copy Container Image](user-guide/plugins/copy-container-image.md) ## Resources diff --git a/docs/user-guide/creating-application/workflow/cd-pipeline.md b/docs/user-guide/creating-application/workflow/cd-pipeline.md index 47f7cef9cd8..c5fe5d84b8a 100644 --- a/docs/user-guide/creating-application/workflow/cd-pipeline.md +++ b/docs/user-guide/creating-application/workflow/cd-pipeline.md @@ -14,11 +14,11 @@ A basic `Create deployment pipeline` window will pop up. Here, you get three sections: -* [Deploy to Environment](#1-deploy-to-environment) -* [Deployment Strategy](#2-deployment-strategy) -* [Advanced Options](#3-advanced-options) +* [Deploy to Environment](#deploy-to-environment) +* [Deployment Strategy](#deployment-strategy) +* [Advanced Options](#advanced-options) -### 1. Deploy to Environment +### Deploy to Environment This section expects three inputs from you: @@ -28,7 +28,7 @@ This section expects three inputs from you: | Namespace | Automatically populated based on the selected environment | Not Applicable | | Trigger | When to execute the deployment pipeline | **Automatic**: Deployment triggers automatically when a new image completes the previous stage (build pipeline or another deployment pipeline)
**Manual**: Deployment is not initiated automatically. You can trigger deployment with a desired image. | -### 2. Deployment Strategy +### Deployment Strategy Devtron supports multiple deployment strategies depending on the [deployment chart type](../../creating-application/deployment-template.md#select-chart-from-default-charts). @@ -40,7 +40,9 @@ Refer [Deployment Strategies](#deployment-strategies) to know more about each st The next section is [Advanced Options](#advanced-options) and it comes with additional capabilities. However, if you don't need them, you may proceed with a basic CD pipeline and click **Create Pipeline**. {% endhint %} -### 3. Advanced Options +--- + +## Advanced Options This option is available at the bottom of the `Create deployment pipeline` window. @@ -61,7 +63,7 @@ Now, the window will have 3 distinct tabs, and you will see the following additi You can create or edit a deployment strategy in Advanced Options. Remember, only the default strategy will be used for deployment, so use the **SET DEFAULT** button to mark your preferred strategy as default after creating it. {% endhint %} -#### Pre-Deployment Stage +### Pre-Deployment Stage If your deployment requires prior actions like DB migration, code quality check (QC), etc., you can use the `Pre-deployment stage` to configure such tasks. @@ -133,13 +135,13 @@ Make sure your cluster has [devtron-agent](../../global-configurations/cluster-a * Deploy the chart in any environment within the Devtron cluster. Now you should be able to enable `Execute tasks in application environment` option for an environment of target cluster. -#### Deployment Stage +### Deployment Stage -##### Pipeline Name +#### Pipeline Name Pipeline name will be auto-generated; however, you are free to modify the name as per your requirement. -##### Manual Approval for Deployment [![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/elements/EnterpriseTag.svg)](https://devtron.ai/pricing) +#### Manual Approval for Deployment [![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/elements/EnterpriseTag.svg)](https://devtron.ai/pricing) If you want only approved images to be eligible for deployment, enable the `Manual approval for deployment` option in the respective deployment pipeline. By doing so, unapproved images would be prevented from being deployed for that deployment pipeline. @@ -159,10 +161,10 @@ To enable manual approval for deployment, follow these steps: To know more about the approval process, refer [Triggering CD](../../deploying-application/triggering-cd.md#manual-approval-for-deployment). -##### Custom Image Tag Pattern +#### Custom Image Tag Pattern {% hint style="warning" %} -This will be utilized only when an existing container image is copied to another repository using the [Copy Container Image Plugin](../workflow/plugins/copy-container-image.md). The image will be copied with the tag generated by the Image Tag Pattern you defined. +This will be utilized only when an existing container image is copied to another repository using the [Copy Container Image Plugin](../../plugins/copy-container-image.md). The image will be copied with the tag generated by the Image Tag Pattern you defined. {% endhint %} 1. Enable the toggle button as shown below. @@ -183,9 +185,9 @@ This will be utilized only when an existing container image is copied to another 4. Click **Update Pipeline**. -To know how and where this image tag would appear, refer [Copy Container Image Plugin](../workflow/plugins/copy-container-image.md) +To know how and where this image tag would appear, refer [Copy Container Image Plugin](../../plugins/copy-container-image.md) -##### Pull Container Image with Image Digest +#### Pull Container Image with Image Digest Although Devtron ensures that [image tags](#custom-image-tag-pattern) remain unique, the same cannot be said if images are pushed with the same tag to the same container registry from outside Devtron. @@ -203,7 +205,7 @@ An image digest is a unique and immutable SHA-256 string returned by the contain Users need to have Admin permission or above (along with access to the environment and application) to enable this option. However, this option will be non-editable in case the super-admin has enabled [pull image digest in Global Configurations](../../global-configurations/pull-image-digest.md). {% endhint %} -#### Post-Deployment Stage +### Post-Deployment Stage If you need to run any actions for e.g., closure of Jira ticket, load testing or performance testing, you can configure such actions in the post-deployment stages. @@ -246,7 +248,7 @@ Deleting a CD pipeline also deletes all the K8s resources associated with it and A deployment strategy is a method of updating, downgrading, or creating new versions of an application. The options you see under deployment strategy depend on the selected chart type (see fig 2). Below are some deployment configuration-based strategies. -#### 1. Blue-Green Strategy +#### Blue-Green Strategy Blue-green deployments involve running two versions of an application at the same time and moving traffic from the in-production version \(the green version\) to the newer version \(the blue version\). @@ -265,7 +267,7 @@ blueGreen: | `previewReplicaCount` | It will indicate the number of replicas that the new version of an application should run | | `autoPromotionEnabled` | It will make the rollout automatically promote the new ReplicaSet to the active service | -#### 2. Rolling Strategy +#### Rolling Strategy A rolling deployment slowly replaces instances of the previous version of an application with instances of the new version of the application. Rolling deployment typically waits for new pods to become ready via a readiness check before scaling down the old components. If a significant issue occurs, the rolling deployment can be aborted. @@ -280,7 +282,7 @@ rolling: | `maxSurge` | No. of replicas allowed above the scheduled quantity | | `maxUnavailable` | Maximum number of pods allowed to be unavailable | -#### 3. Canary Strategy +#### Canary Strategy Canary deployments are a pattern for rolling out releases to a subset of users or servers. The idea is to first deploy the change to a small subset of servers, test it, and then roll the change out to the rest of the servers. The canary deployment serves as an early warning indicator with less impact on downtime: if the canary deployment fails, the rest of the servers aren't impacted. @@ -307,7 +309,7 @@ canary: | `setWeight` | It is the required percent of pods to move to the next step | | `duration` | It is used to set the duration to wait to move to the next step | -#### 4. Recreate Strategy +#### Recreate Strategy The recreate strategy is a dummy deployment that consists of shutting down version 'A' and then deploying version 'B' after version 'A' is turned off. diff --git a/docs/user-guide/creating-application/workflow/ci-build-pre-post-plugins.md b/docs/user-guide/creating-application/workflow/ci-build-pre-post-plugins.md index 049ffc79204..40606c72afc 100644 --- a/docs/user-guide/creating-application/workflow/ci-build-pre-post-plugins.md +++ b/docs/user-guide/creating-application/workflow/ci-build-pre-post-plugins.md @@ -78,220 +78,6 @@ Lets take `Codacy` as an example and configure it in the Pre-Build stage in the * Click `Details` on the build pipeline and you can view the details on the `Logs`. - -### Preset plugins - -#### K6 Load Testing - -K6 is an open-source tool and cloud service that makes load testing easy for developers and QA engineers. - -**Prerequisite**: Make sure you have set up an account in `k6.io` or get the API keys from an admin. - -1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). -2. Click **+ Add task**. -3. Select **K6 Load Testing** from **PRESET PLUGINS**. - - -* Enter a relevant name in the `Task name` field. It is a mandatory field. -* Enter a descriptive message for the task in the `Description` field. It is an optional field. -* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
- - | Variable | Format | Description | -| ---- | ---- | ---- | -| RelativePathToScript | String | Checkout path + script path along with script name | -| PrometheusUsername | String | Username of Prometheus account | -| PrometheusApiKey | String | API key of Prometheus account | -| PrometheusRemoteWriteEndpoint | String | Remote write endpoint of Prometheus account | -| OutputType | String | `Log` or `Prometheus` | - -* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: - -* Click **Update Pipeline**. - -#### SonarQube - -Configuring `Sonarqube` in pre-build or post build task enhances your workflow with Continuous Code Quality & Code Security. - -**Prerequisite**: Make sure you have set up an account in `Sonarqube` or get the API keys from an admin. - -1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). -2. Click **+ Add task**. -3. Select **Sonarqube** from **PRESET PLUGINS**. - - ![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/plugins/sonarqube.jpg) - -* Enter a relevant name in the `Task name` field. It is a mandatory field. -* Enter a descriptive message for the task in the `Description` field. It is an optional field. -* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
- - | Variable | Format | Description | -| ---- | ---- | ---- | -| SonarqubeProjectKey | String | Project key of SonarQube account | -| SonarqubeApiKey | String | API key of SonarQube account | -| SonarqubeEndpoint | String | API endpoint of SonarQube account | -| CheckoutPath | String | Checkout path of Git material | -| UsePropertiesFileFromProject | Boolean | Enter either `true` or `false` accordingly whether the configuration file should be fetched from the project's source code | -| CheckForSonarAnalysisReport | Boolean | Enter either `true` or `false` accordingly whether you want poll or actively check for the generation of the SonarQube analysis report | -| AbortPipelineOnPolicyCheckFailed | Boolean | Enter either `true` or `false` accordingly whether you want to check if the policy fails or not | - -* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: - -* Click **Update Pipeline**. - - -#### Dependency Track for Python - -Configuring `Dependency Track for Python` in pre-build or post build task creates a bill of materials from Python projects and environments and uploads it to D-track for [Component Analysis](https://owasp.org/www-community/Component_Analysis) to identify and reduce risk in the software supply chain. - -**Prerequisite**: Make sure you have set up an account in `dependency track` or get the API keys from an admin. - -1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). -2. Click **+ Add task**. -3. Select **Dependency track for Python** from **PRESET PLUGINS**. - - - -* Enter a relevant name in the `Task name` field. It is a mandatory field. -* Enter a descriptive message for the task in the `Description` field. It is an optional field. -* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
- - | Variable | Format | Description | -| ---- | ---- | ---- | -| ProjectManifestType | String | Type of your Python project manifest which is used to build cycloneDx [Software Bill of Materials (SBOM)](https://owasp.org/www-community/Component_Analysis#software-bill-of-materials-sbom). E.g., PIP, Poetry etc. | -| RelativePathToPoetryLock | String | Path to your poetry.lock file inside your project | -| RelativePathToPipfile | String | Path to your Pipfile.lock file inside your project | -| RelativePathToRequirementTxt | String | Path to your requirements.txt file inside your project | -| DTrackEndpoint | String | API endpoint of your dependency track account | -| DTrackProjectName | String | Name of your dependency track project | -| DTrackProjectVersion | String | Version of dependency track project | -| DTrackApiKey | String | API key of your dependency track account | -| CheckoutPath | String | Checkout path of Git material | - -* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: - -* Click **Update Pipeline**. - - -#### Dependency Track for NodeJs - -Configuring `Dependency Track for NodeJs` in pre-build or post build task creates a bill of materials from NodeJs projects and environments and uploads it to D-track for [Component Analysis](https://owasp.org/www-community/Component_Analysis) to identify and reduce risk in the software supply chain. - - -**Prerequisite**: Make sure you have set up an account in `dependency track` or get the API keys from an admin. - -1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). -2. Click **+ Add task**. -3. Select **Dependency track for NodeJs** from **PRESET PLUGINS**. - - - -* Enter a relevant name in the `Task name` field. It is a mandatory field. -* Enter a descriptive message for the task in the `Description` field. It is an optional field. -* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
- - | Variable | Format | Description | -| ---- | ---- | ---- | -| DTrackEndpoint | String | API endpoint of your dependency track account | -| DTrackProjectName | String | Name of your dependency track project | -| DTrackProjectVersion | String | Version of dependency track project | -| DTrackApiKey | String | API key of your dependency track account | -| CheckoutPath | String | Checkout path of Git material | - -* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: - -* Click **Update Pipeline**. - - - -#### Dependency Track for Maven & Gradle - -Configuring `Dependency Track for NodeJs` in pre-build or post build task creates a bill of materials from Maven & Gradle projects and environments and uploads it to D-track for [Component Analysis](https://owasp.org/www-community/Component_Analysis) to identify and reduce risk in the software supply chain. - - -**Prerequisite**: Make sure you have set up an account in `dependency track` or get the API keys from an admin. - -1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). -2. Click **+ Add task**. -3. Select **Dependency track for Maven & Gradle** from **PRESET PLUGINS**. - - -* Enter a relevant name in the `Task name` field. It is a mandatory field. -* Enter a descriptive message for the task in the `Description` field. It is an optional field. -* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
- - | Variable | Format | Description | -| ---- | ---- | ---- | -| BuildToolType | String | Type of build tool your project is using. E.g., Maven, or Gradle | -| DTrackEndpoint | String | API endpoint of your dependency track account | -| DTrackProjectName | String | Name of your dependency track project | -| DTrackProjectVersion | String | Version of dependency track project | -| DTrackApiKey | String | API key of your dependency track account | -| CheckoutPath | String | Checkout path of Git material | - -* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: - -* Click **Update Pipeline**. - - -#### Semgrep - -Semgrep is a fast, open source, static analysis engine for finding bugs, detecting dependency vulnerabilities, and enforcing code standards. - -**Prerequisite**: Make sure you have set up an account in `Semgrep` or get the API keys from an admin. - -1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). -2. Click **+ Add task**. -3. Select **Semgrep** from **PRESET PLUGINS**. - - -* Enter a relevant name in the `Task name` field. It is a mandatory field. -* Enter a descriptive message for the task in the `Description` field. It is an optional field. -* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
- - | Variable | Format | Description | -| ---- | ---- | ---- | -| SemgrepAppToken | String | App token of Semgrep. If it is provided, this token will be used, otherwise it will be picked from Global Secret. | -| PrefixAppNameInSemgrepBranchName | Bool | Enter either `true` or `false` accordingly whether you want app name to be reflected with a branch name. If it is `true`, it will add app name with branch name. E.g., {SemgrepAppName}-{branchName} | -| UseCommitAsSemgrepBranchName | Bool | Enter either `true` or `false` accordingly whether you want app name to be reflected with commit hash. If it is `true`, it will add app name with commit hash. E.g., {SemgrepAppName}-{CommitHash}. | -| SemgrepAppName | String | App name for Semgrep. If it is provided, and `PrefixAppNameInSemgrepBranchName` is true, then this will be prefixed with branch name/commit hash.| -| ExtraCommandArguments | String | Extra command arguments for Semgrep CI command. E.g., Input: --json --dry-run. | - -* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: - -* Click **Update Pipeline**. - - -#### Codacy - -Codacy is an automated code analysis/quality tool that helps developers to ship better software in a faster manner. - -**Prerequisite**: Make sure you have set up an account in `Codacy` or get the API keys from an admin. - -1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). -2. Click **+ Add task**. -3. Select **Codacy** from **PRESET PLUGINS**. - - -* Enter a relevant name in the `Task name` field. It is a mandatory field. -* Enter a descriptive message for the task in the `Description` field. It is an optional field. -* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
- - | Variable | Format | Description | -| ---- | ---- | ---- | -| CodacyEndpoint | String | API endpoint for Codacy | -| GitProvider | String | Git provider for the scanning | -| CodacyApiToken | String | API token for Codacy. If it is provided, it will be used, otherwise it will be picked from Global secret (CODACY_API_TOKEN). | -| Organisation | String | Your Organization for Codacy| -| RepoName | String | Your Repository name | -| Branch | String | Your branch name | - -* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: - -* `Pass/Failure Condition` refers to conditions to execute pass or fail of your build. You can select either: - -* Click **Update Pipeline**. - - ### Execute custom script 1. On the **Edit build pipeline** screen, select the **Pre-build stage**. @@ -355,6 +141,10 @@ This example creates a Pre-build task from a container image. The output variabl * Select **Update Pipeline**. +### Preset Plugins + +Go to [Preset Plugins](../../plugins/README.md) section to know more about the available plugins + ## What's next Trigger the [CI pipeline](../../deploying-application/triggering-ci.md) diff --git a/docs/user-guide/creating-application/workflow/ci-pipeline.md b/docs/user-guide/creating-application/workflow/ci-pipeline.md index 8d924551dd4..c86dea88df0 100644 --- a/docs/user-guide/creating-application/workflow/ci-pipeline.md +++ b/docs/user-guide/creating-application/workflow/ci-pipeline.md @@ -8,9 +8,9 @@ For Devtron version older than v0.4.0, please refer the [CI Pipeline (legacy)](. A CI Workflow can be created in one of the following ways: -* [Build and Deploy from Source Code](#1.-build-and-deploy-from-source-code) -* [Linked Build Pipeline](#2.-linked-build-pipeline) -* [Deploy Image from External Service](#3.-deploy-image-from-external-service) +* [Build and Deploy from Source Code](#id-1.-build-and-deploy-from-source-code) +* [Linked Build Pipeline](#id-2.-linked-build-pipeline) +* [Deploy Image from External Service](#id-3.-deploy-image-from-external-service) * Sync with Environment * Create a Job diff --git a/docs/user-guide/global-configurations/README.md b/docs/user-guide/global-configurations/README.md index e4acd4b3e7c..930a1aeb86d 100644 --- a/docs/user-guide/global-configurations/README.md +++ b/docs/user-guide/global-configurations/README.md @@ -30,10 +30,14 @@ Before you start creating an application, we recommend to provide basic informat [Scoped Variables](scoped-variables.md) +[Pull Image Digest](pull-image-digest.md) + [Tags Policy](tags-policy.md) [Filter Condition](filter-condition.md) +[Build Infra](build-infra.md) + You can also refer our YouTube video provided here. {% embed url="https://www.youtube.com/watch?v=4VFjrjtieMI" caption="" %} diff --git a/docs/user-guide/global-configurations/authorization/README.md b/docs/user-guide/global-configurations/authorization/README.md index ee4810afca1..6962cfe937c 100644 --- a/docs/user-guide/global-configurations/authorization/README.md +++ b/docs/user-guide/global-configurations/authorization/README.md @@ -1,6 +1,8 @@ `Authorization` section describes how to authenticate and authorize access to resources, also managing role-based access levels in Devtron. -Access can be added to a user via: +Access can be granted to a user via: + +* [SSO Login Services](../sso-login.md) * [User Permissions](user-access.md) diff --git a/docs/user-guide/plugins/README.md b/docs/user-guide/plugins/README.md new file mode 100644 index 00000000000..f5d0ad6656f --- /dev/null +++ b/docs/user-guide/plugins/README.md @@ -0,0 +1,10 @@ +# Preset Plugins + +Preset plugins are micro tools that allow you to enhance and refine the [CI/CD workflow](../creating-application/workflow/README.md) of your application by adding new features, integrating with external tools, and automating tasks. + +Unlike [custom scripts](../creating-application/workflow/ci-build-pre-post-plugins.md#execute-custom-script), preset plugins come bundled with specific variables and conditions that help you make the plugins work seamlessly with your CI/CD pipeline. + +Some plugins are meant for pre-build/post-build, while some are meant for pre-deployement/post-deployement. + +From this section, you can know more about the individual plugins and its purpose. + diff --git a/docs/user-guide/plugins/codacy.md b/docs/user-guide/plugins/codacy.md new file mode 100644 index 00000000000..40d499fcb85 --- /dev/null +++ b/docs/user-guide/plugins/codacy.md @@ -0,0 +1,29 @@ +# Codacy + +Codacy is an automated code analysis/quality tool that helps developers to ship better software in a faster manner. + +**Prerequisite**: Make sure you have set up an account in `Codacy` or get the API keys from an admin. + +1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). +2. Click **+ Add task**. +3. Select **Codacy** from **PRESET PLUGINS**. + + +* Enter a relevant name in the `Task name` field. It is a mandatory field. +* Enter a descriptive message for the task in the `Description` field. It is an optional field. +* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
+ + | Variable | Format | Description | +| ---- | ---- | ---- | +| CodacyEndpoint | String | API endpoint for Codacy | +| GitProvider | String | Git provider for the scanning | +| CodacyApiToken | String | API token for Codacy. If it is provided, it will be used, otherwise it will be picked from Global secret (CODACY_API_TOKEN). | +| Organisation | String | Your Organization for Codacy| +| RepoName | String | Your Repository name | +| Branch | String | Your branch name | + +* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: + +* `Pass/Failure Condition` refers to conditions to execute pass or fail of your build. You can select either: + +* Click **Update Pipeline**. \ No newline at end of file diff --git a/docs/user-guide/creating-application/workflow/plugins/copy-container-image.md b/docs/user-guide/plugins/copy-container-image.md similarity index 100% rename from docs/user-guide/creating-application/workflow/plugins/copy-container-image.md rename to docs/user-guide/plugins/copy-container-image.md diff --git a/docs/user-guide/plugins/dependency-track-maven-gradle.md b/docs/user-guide/plugins/dependency-track-maven-gradle.md new file mode 100644 index 00000000000..7e0ea97a962 --- /dev/null +++ b/docs/user-guide/plugins/dependency-track-maven-gradle.md @@ -0,0 +1,28 @@ +# Dependency Track for Maven & Gradle + +Configuring `Dependency Track for NodeJs` in pre-build or post build task creates a bill of materials from Maven & Gradle projects and environments and uploads it to D-track for [Component Analysis](https://owasp.org/www-community/Component_Analysis) to identify and reduce risk in the software supply chain. + + +**Prerequisite**: Make sure you have set up an account in `dependency track` or get the API keys from an admin. + +1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). +2. Click **+ Add task**. +3. Select **Dependency track for Maven & Gradle** from **PRESET PLUGINS**. + + +* Enter a relevant name in the `Task name` field. It is a mandatory field. +* Enter a descriptive message for the task in the `Description` field. It is an optional field. +* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
+ + | Variable | Format | Description | +| ---- | ---- | ---- | +| BuildToolType | String | Type of build tool your project is using. E.g., Maven, or Gradle | +| DTrackEndpoint | String | API endpoint of your dependency track account | +| DTrackProjectName | String | Name of your dependency track project | +| DTrackProjectVersion | String | Version of dependency track project | +| DTrackApiKey | String | API key of your dependency track account | +| CheckoutPath | String | Checkout path of Git material | + +* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: + +* Click **Update Pipeline**. \ No newline at end of file diff --git a/docs/user-guide/plugins/dependency-track-nodejs.md b/docs/user-guide/plugins/dependency-track-nodejs.md new file mode 100644 index 00000000000..0b37a467dd3 --- /dev/null +++ b/docs/user-guide/plugins/dependency-track-nodejs.md @@ -0,0 +1,28 @@ +# Dependency Track for NodeJs + +Configuring `Dependency Track for NodeJs` in pre-build or post build task creates a bill of materials from NodeJs projects and environments and uploads it to D-track for [Component Analysis](https://owasp.org/www-community/Component_Analysis) to identify and reduce risk in the software supply chain. + + +**Prerequisite**: Make sure you have set up an account in `dependency track` or get the API keys from an admin. + +1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). +2. Click **+ Add task**. +3. Select **Dependency track for NodeJs** from **PRESET PLUGINS**. + + + +* Enter a relevant name in the `Task name` field. It is a mandatory field. +* Enter a descriptive message for the task in the `Description` field. It is an optional field. +* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
+ + | Variable | Format | Description | +| ---- | ---- | ---- | +| DTrackEndpoint | String | API endpoint of your dependency track account | +| DTrackProjectName | String | Name of your dependency track project | +| DTrackProjectVersion | String | Version of dependency track project | +| DTrackApiKey | String | API key of your dependency track account | +| CheckoutPath | String | Checkout path of Git material | + +* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: + +* Click **Update Pipeline**. \ No newline at end of file diff --git a/docs/user-guide/plugins/dependency-track-python.md b/docs/user-guide/plugins/dependency-track-python.md new file mode 100644 index 00000000000..bd6dc0a9dbd --- /dev/null +++ b/docs/user-guide/plugins/dependency-track-python.md @@ -0,0 +1,31 @@ +# Dependency Track for Python + +Configuring `Dependency Track for Python` in pre-build or post build task creates a bill of materials from Python projects and environments and uploads it to D-track for [Component Analysis](https://owasp.org/www-community/Component_Analysis) to identify and reduce risk in the software supply chain. + +**Prerequisite**: Make sure you have set up an account in `dependency track` or get the API keys from an admin. + +1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). +2. Click **+ Add task**. +3. Select **Dependency track for Python** from **PRESET PLUGINS**. + + + +* Enter a relevant name in the `Task name` field. It is a mandatory field. +* Enter a descriptive message for the task in the `Description` field. It is an optional field. +* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
+ + | Variable | Format | Description | +| ---- | ---- | ---- | +| ProjectManifestType | String | Type of your Python project manifest which is used to build cycloneDx [Software Bill of Materials (SBOM)](https://owasp.org/www-community/Component_Analysis#software-bill-of-materials-sbom). E.g., PIP, Poetry etc. | +| RelativePathToPoetryLock | String | Path to your poetry.lock file inside your project | +| RelativePathToPipfile | String | Path to your Pipfile.lock file inside your project | +| RelativePathToRequirementTxt | String | Path to your requirements.txt file inside your project | +| DTrackEndpoint | String | API endpoint of your dependency track account | +| DTrackProjectName | String | Name of your dependency track project | +| DTrackProjectVersion | String | Version of dependency track project | +| DTrackApiKey | String | API key of your dependency track account | +| CheckoutPath | String | Checkout path of Git material | + +* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: + +* Click **Update Pipeline**. \ No newline at end of file diff --git a/docs/user-guide/plugins/k6-load-testing.md b/docs/user-guide/plugins/k6-load-testing.md new file mode 100644 index 00000000000..5d25f7a22fe --- /dev/null +++ b/docs/user-guide/plugins/k6-load-testing.md @@ -0,0 +1,26 @@ +# K6 Load Testing + +K6 is an open-source tool and cloud service that makes load testing easy for developers and QA engineers. + +**Prerequisite**: Make sure you have set up an account in `k6.io` or get the API keys from an admin. + +1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). +2. Click **+ Add task**. +3. Select **K6 Load Testing** from **PRESET PLUGINS**. + + +* Enter a relevant name in the `Task name` field. It is a mandatory field. +* Enter a descriptive message for the task in the `Description` field. It is an optional field. +* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
+ + | Variable | Format | Description | +| ---- | ---- | ---- | +| RelativePathToScript | String | Checkout path + script path along with script name | +| PrometheusUsername | String | Username of Prometheus account | +| PrometheusApiKey | String | API key of Prometheus account | +| PrometheusRemoteWriteEndpoint | String | Remote write endpoint of Prometheus account | +| OutputType | String | `Log` or `Prometheus` | + +* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: + +* Click **Update Pipeline**. diff --git a/docs/user-guide/plugins/semgrep.md b/docs/user-guide/plugins/semgrep.md new file mode 100644 index 00000000000..cf6830500e6 --- /dev/null +++ b/docs/user-guide/plugins/semgrep.md @@ -0,0 +1,26 @@ +# Semgrep + +Semgrep is a fast, open source, static analysis engine for finding bugs, detecting dependency vulnerabilities, and enforcing code standards. + +**Prerequisite**: Make sure you have set up an account in `Semgrep` or get the API keys from an admin. + +1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). +2. Click **+ Add task**. +3. Select **Semgrep** from **PRESET PLUGINS**. + + +* Enter a relevant name in the `Task name` field. It is a mandatory field. +* Enter a descriptive message for the task in the `Description` field. It is an optional field. +* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
+ + | Variable | Format | Description | +| ---- | ---- | ---- | +| SemgrepAppToken | String | App token of Semgrep. If it is provided, this token will be used, otherwise it will be picked from Global Secret. | +| PrefixAppNameInSemgrepBranchName | Bool | Enter either `true` or `false` accordingly whether you want app name to be reflected with a branch name. If it is `true`, it will add app name with branch name. E.g., {SemgrepAppName}-{branchName} | +| UseCommitAsSemgrepBranchName | Bool | Enter either `true` or `false` accordingly whether you want app name to be reflected with commit hash. If it is `true`, it will add app name with commit hash. E.g., {SemgrepAppName}-{CommitHash}. | +| SemgrepAppName | String | App name for Semgrep. If it is provided, and `PrefixAppNameInSemgrepBranchName` is true, then this will be prefixed with branch name/commit hash.| +| ExtraCommandArguments | String | Extra command arguments for Semgrep CI command. E.g., Input: --json --dry-run. | + +* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: + +* Click **Update Pipeline**. \ No newline at end of file diff --git a/docs/user-guide/plugins/sonarqube.md b/docs/user-guide/plugins/sonarqube.md new file mode 100644 index 00000000000..a1e83139ac1 --- /dev/null +++ b/docs/user-guide/plugins/sonarqube.md @@ -0,0 +1,29 @@ +# SonarQube + +Configuring `Sonarqube` in pre-build or post build task enhances your workflow with Continuous Code Quality & Code Security. + +**Prerequisite**: Make sure you have set up an account in `Sonarqube` or get the API keys from an admin. + +1. On the **Edit build pipeline** page, select the **Pre-Build Stage** (or Post-Build Stage). +2. Click **+ Add task**. +3. Select **Sonarqube** from **PRESET PLUGINS**. + + ![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/plugins/sonarqube.jpg) + +* Enter a relevant name in the `Task name` field. It is a mandatory field. +* Enter a descriptive message for the task in the `Description` field. It is an optional field. +* Provide a value for the input variable.
Note: The value may be any of the values from the previous build stages, a global variable, or a custom value.
+ + | Variable | Format | Description | +| ---- | ---- | ---- | +| SonarqubeProjectKey | String | Project key of SonarQube account | +| SonarqubeApiKey | String | API key of SonarQube account | +| SonarqubeEndpoint | String | API endpoint of SonarQube account | +| CheckoutPath | String | Checkout path of Git material | +| UsePropertiesFileFromProject | Boolean | Enter either `true` or `false` accordingly whether the configuration file should be fetched from the project's source code | +| CheckForSonarAnalysisReport | Boolean | Enter either `true` or `false` accordingly whether you want poll or actively check for the generation of the SonarQube analysis report | +| AbortPipelineOnPolicyCheckFailed | Boolean | Enter either `true` or `false` accordingly whether you want to check if the policy fails or not | + +* `Trigger/Skip Condition` refers to a conditional statement to execute or skip the task. You can select either: + +* Click **Update Pipeline**. \ No newline at end of file