You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _docs/getting-started/cd-codefresh.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ toc: true
6
6
---
7
7
8
8
Codefresh is a Continuous Integration/Delivery (CI/CD) solution. This article reviews main concepts around CD, and how Codefresh supports and implements them.
9
+
9
10
For a review of CI concepts, see[Codefresh for CI]({{site.baseurl}}docs/getting-started/ci-codefresh/).
10
11
11
12
@@ -44,6 +45,7 @@ See [Deployment options for Kubernetes]({{site.baseurl}}/docs/deployments/kubern
44
45
45
46
##kubectl
46
47
`kubectl` is the command line interface for managing Kubernetes clusters. Running custom`kubectl` commands in a freestyle step gives maximum flexibility with cluster deployments.
48
+
47
49
Codefresh automatically sets up your config context with your connected clusters. The config context is the value of the`$CF_KUBECONFIG_PATH` variable, which expands to`/codefresh/volume/sensitive/.kube/config` within the shared step volume.
48
50
49
51
Codefresh has a public Docker image for kubectl at[Docker Hub](https://hub.docker.com/r/codefresh/kubectl/tags){:target="\_blank"} that you can use.
@@ -63,6 +65,7 @@ Install Helm charts from Helm repositories, or build a new one.
63
65
64
66
65
67
As with steps for Kubernetes deployments, Codefresh has a dedicated step for Helm deployments. The Helm step easily integrates Helm in Codefresh pipelines, and can authenticate, configure, and execute Helm commands.
68
+
66
69
The Helm step can operate in one of three modes covering most scenarios:
67
70
* Install the chart into a Kubernetes cluster. This is the default mode if not explicitly set.
68
71
* Package the chart and push it to the defined repository.
@@ -74,13 +77,16 @@ Deploy the Helm chart to a Kubernetes cluster, Helm repo, or both.
74
77
See[Using Helm in Codefresh pipelines]({{site.baseurl}}/docs/deployments/helm//using-helm-in-codefresh-pipeline/),[Using managed Helm repos]({{site.baseurl}}/docs/deployments/helm//managed-helm-repository/), and Helm[charts and repositories]({{site.baseurl}}/docs/deployments/helm/helm-charts-and-repositories/).
75
78
76
79
##Dashboards
77
-
Dashboards are key to providing the right information at the right time. Codefresh makes it easy to both access and visualize critical information for any resource, at any stage and level, and for anyone, from managers to DevOps engineers. Our operational dashboards expose the most critical application and environmental information to developers for troubleshooting without needing assistance from the DevOps teams. Our analytics dashboards expose key statistics and metrics around builds and deployments for product owners and management alike.
80
+
Dashboards are key to providing the right information at the right time. Codefresh makes it easy to both access and visualize critical information for any resource, at any stage and level, and for anyone, from managers to DevOps engineers.
81
+
82
+
Our operational dashboards expose the most critical application and environmental information to developers for troubleshooting without needing assistance from the DevOps teams. Our analytics dashboards expose key statistics and metrics around builds and deployments for product owners and management alike.
78
83
79
84
80
85
You can customize all dashboards to display just the information most relevant to your business issues.
81
86
82
87
**Kubernetes**
83
88
The Kubernetes (Kubernetes Services) dashboard displays the clusters in your environments, their state, and actions if you have the required access privileges.
89
+
84
90
This dashboard is a centralized location from which to view, add, modify, and remove Kubernetes services. You can deploy services with images from the Codefresh registry or from external Docker registries.
85
91
See[Accessing the Kubernetes dashboard]({{site.baseurl}}/docs/deployments/kubernetes/manage-kubernetes/#accessing-the-kubernetes-dashboard).
Copy file name to clipboardExpand all lines: _docs/getting-started/ci-codefresh.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,16 +5,9 @@ group: getting-started
5
5
toc:true
6
6
---
7
7
8
-
<!--Focus on:
9
-
Building Docker images
10
-
Compiling code
11
-
Running unit tests
12
-
Running integration tests
13
-
Security scans
14
-
Code quality-->
15
-
16
8
Codefresh is a Continuous Integration/Delivery solution. This article reviews main concepts around CI, and how Codefresh supports and implements them.
17
-
For a review of CD concepts, see[Codefresh for CD]({{site.baseurl}}docs/getting-started/cd-codefresh/).
9
+
10
+
For a review of CD concepts, see[Codefresh for CD]({{site.baseurl}}/docs/getting-started/cd-codefresh/).
18
11
19
12
20
13
@@ -24,7 +17,10 @@ The basic function of a CI system is to compile/package source code. Codefresh i
24
17
25
18
The only requirement is that you either use an existing Docker image as a step in your pipeline or create your own with the exact versions of tools that you need.
26
19
20
+
You can find several Docker images for all popular programming languages or you can create your own if you use an exotic programming language.
21
+
27
22
##Docker images
23
+
28
24
Building a Docker image from the source code is probably the most common and basic requirement for a CI pipeline. In Codefresh, you can build, push, and promote Docker images, using declarative YAML and credentials that are defined once and stored centrally for reuse.
29
25
30
26
**Build and push image**
@@ -63,12 +59,13 @@ See:
63
59
64
60
##Integration testing
65
61
Compared to unit tests that run on the source code, integration tests run on the application itself. You need to either launch the application itself, or one or more external services such as a database.
62
+
66
63
In Codefresh, you can launch these sidecar containers within the pipeline through compositions and service containers.
Good quality code is central to any CI platform or tool. Codefresh integrates with the top code quality platforms/tools in the market to track code coverage, inspect code quality, and generate code-coverage analysis reports.
73
70
74
71
Implement code quality coverage in Codefresh pipelines through these steps:
@@ -80,7 +77,9 @@ See [Code coverage examples]({{site.baseurl}}/docs/example-catalog/examples/#cod
80
77
81
78
##Linting/validating
82
79
83
-
Linting and validation tools which perform static analysis on source code or other resources are also integral parts of pipelines. Codefresh pipelines can use any linter tool that is bundled with a Docker image. Codefresh can also validate files that are not source-code, such as markup-language files (XML/YAML/JSON), and infrastructure files (Terraform, or Kubernetes resource files).
80
+
Linting and validation tools which perform static analysis on source code or other resources are also integral parts of pipelines. Codefresh pipelines can use any linter tool that is bundled with a Docker image.
81
+
82
+
Codefresh can also validate files that are not source-code, such as markup-language files (XML/YAML/JSON), and infrastructure files (Terraform, or Kubernetes resource files).
84
83
85
84
As most static analysis tools are CLI-based, they can be easily used in a Codefresh pipeline.
86
85
@@ -90,11 +89,11 @@ Security scans are critical to deploying quality code. Codefresh allows you to a
90
89
**Security scan platforms**
91
90
Codefresh can integrate with any security scanning platform that scans source code or Docker images for vulnerabilities. We already have ready-to-use Docker images for several security platforms such as Anchore, Aqua Security, Clair, Twistlock and WhiteSource. For the full list, visit our[Plug-ins library](https://codefresh.io/steps/){:target="\_blank"}.
92
91
93
-
**Scantiming in pipeline step**
92
+
**Scanat any point**
94
93
The security scan is implemented through a`freestyle` step, inserted anywhere in the pipeline. The fact that you can insert the step anywhere in the pipeline allows you to control when the scan is executed, for example, before the source code is packaged in a container, or before the container is stored in a registry or deployed to production, or any combination of the two.
95
94
96
95
**View scan results**
97
-
As with any scan, the final step is viewing the scan results. Attaching analysis reports to the pipeline build makes the scan results available in Codefresh release dashboards (Test Report button).
96
+
As with any scan, the final step is viewing the scan results. Attaching analysis reports to the pipeline build makes the scan results available in Codefresh release dashboards.
98
97
99
98
**Security annotations**
100
99
Correlate the Docker images in Codefresh with the results of the security scanning platform by adding annotations for custom metadata. For example, you can add annotations such as the number of issues or the URL of the full report.
@@ -120,6 +119,7 @@ See [Slack notifications in Codefresh]({{site.baseurl}}/docs/integrations/notifi
120
119
**Jira notifications**
121
120
Codefresh integrates with Jira in several ways:
122
121
The standard integration provides the highest visibility into your GitOps deployments. Referencing the integration in your pipeline pulls in all the Jira information and enriches the image with the issue-tracking information.
122
+
123
123
Our versatile[Jira Issue Manager](https://codefresh.io/steps/step/jira-issue-manager){:target="\_blank"} step can be used to create Jira issues, comment on existing Jira issues, change the status of an issue, and even add a description to your issue.