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/guides/software-lifecycle/continuous-integration/README.md
+19-13
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,12 @@
4
4
5
5
## Introduction
6
6
7
-
**Background**: Continuous Integration (CI) is a critical component of modern software development. This guide introduces a comprehensive approach to CI, covering analysis and testing to orchestration and release management. We focus on using a variety of tools like Git hooks, GitHub Actions, Jenkins, and more to create a robust CI pipeline. By following this guide and combining these tools, developers can automate their build and testing processes, ensuring that their software is always ready for deployment.
7
+
**Background**: Continuous Integration (CI) is a critical practice in modern software development. This guide introduces a comprehensive approach to CI from analysis and testing to orchestration and release management. We focus on using a variety of tools like Git hooks, GitHub Actions, Jenkins and more to create a robust CI pipeline. By following this guide and combining these tools, developers can automate their build and testing processes, ensuring software is always ready for deployment.
8
8
9
9
**Use Cases**:
10
-
- Automating software build and testing processes.
10
+
- Automating software integration, build and testing.
11
11
- Streamlining software release and deployment.
12
-
- Ensuring software quality and reliability through regular integration and testing.
12
+
- Ensuring software quality and reliability through repeatable engineering processes.
13
13
14
14
---
15
15
@@ -24,28 +24,28 @@
24
24
25
25
**[📔 CI Tools and Frameworks](continuous-integration-frameworks.md)**
26
26
27
-
Click the link above to explore various tools and practices for setting up and optimizing your CI pipeline.
27
+
Click the link above to explore various tools and systems for setting up and optimizing your CI pipeline.
28
28
29
29
**[📔 CI Reference Architectures](reference-architecture.md)**
30
30
31
-
Click the link above to understand a sample, overall architectural reference for continuous integration.
31
+
Click the link above to explore the overall sample architecture for a continuous integration system.
32
32
33
33
---
34
34
35
35
## Step-by-Step Guide
36
36
37
37
1.**Explore CI Tools and Frameworks**:
38
-
- Start with the [CI Tools and Frameworks](continuous-integration-frameworks.md) guide to understand a wide array of CI tools.
39
-
- Review different categories like Analysis and Testing, Credentialing, and Execution and Reporting Tests.
40
-
- Based on your use case, select appropriate tools, e.g. Git hooks, GitHub Actions, Jenkins, Maven plugins, or SetupTools that fit into various aspects of your CI use case.
38
+
- Start with the [CI Tools and Frameworks](continuous-integration-frameworks.md) guide to explore a range of task-focused CI tools.
39
+
- Review different categories, such as Analysis and Testing, Credentialing, and Execution and Reporting Tests.
40
+
- Based on your use case, select appropriate tools, e.g. Git hooks, GitHub Actions, Jenkins, Maven plugins or SetupTools, that are are designed for the software and technologies used in your product.
41
41
42
42
2.**Understand the Reference Architecture**:
43
43
- Dive into the [CI Reference Architectures](reference-architecture.md) for an overview of the CI process and its components.
44
-
- Understand the core concept of the CI pipeline, which involves systems like Development System, Continuous Integration System, and Continuous Deployment System.
45
-
- Learn about the discrete process steps in a CI pipeline, such as Compile, Test, Package, and Publish, and how they contribute to building and releasing software.
44
+
- Understand the core concepts of the CI pipeline, which involves Developer systems, Continuous Integration services, Continuous Deployment platforms and other touchpoints.
45
+
- Learn about the discrete process steps in a CI pipeline, such as Compile, Test, Package, Publish and Deploy, and how they contribute to building and releasing software.
46
46
47
47
3.**Combine Reference Architecture with Selected Tools**:
48
-
- With the understanding of CI tools from **Step 1** and the architectural insights from **Step 2**, begin mapping tools to specific roles in your CI pipeline.
48
+
- With the understanding of CI tools from **Step 1**, and the architectural insights from **Step 2**, begin mapping tools to specific roles in your CI pipeline.
49
49
- For example:
50
50
- Use Git hooks for code check-ins and GitHub Actions for automated build and testing processes.
51
51
- Utilize Jenkins or GitHub Actions for more complex workflows, like orchestrating builds across different environments or managing deployment strategies.
@@ -60,8 +60,14 @@ Click the link above to understand a sample, overall architectural reference for
60
60
## Frequently Asked Questions (FAQ)
61
61
62
62
- Q: How do I choose the right CI tools for my project?
63
-
- A: Consider your project’s language, complexity, and the specific needs of your deployment environment. Research and compare tools to find the best fit for your workflow.
64
-
63
+
- A: Consider your project’s language, complexity and the specific needs of your deployment environment. Research and compare tools to find the best fit for your workflow.
64
+
65
+
- Q: What is the difference between Continuous Integration, Continuous Deployment and Continuous Delivery?
66
+
- A: These related concepts apply to different target stages of a comprehensive CI/CD process, but their definitions are often conflated. Each one of these stages determines the endpoint as builds progress in a given automation process.
67
+
-_Continuous Integration_ (code compiles) tests whether code when merged from different developer systems can be compiled together on a control system, e.g. the CI server.
68
+
-_Continuous Deployment_ (packages published) is the publishing of successfully compiled and packaged binaries to an artifact repository and/or local test servers.
69
+
-_Continuous Delivery_ (packages released) extends deployment by pushing packaged binaries immediately to production services upon successful build, test and publishing.
0 commit comments