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
<p>Another major advantage with CI is that testing can be an automated step in the
7144
-
deployment process. Broken deployments can be prevented by running a comprehensive
7145
-
test suite of <ahref="/unit-testing.html">unit</a> and
7146
-
<ahref="/integration-testing.html">integration tests</a> when developers check in code to a
7147
-
source code repository. Any bugs accidentally introduced during a check-in that are
7148
-
caught by the test suite are reported and prevent the deployment from proceeding.</p>
7149
-
<p>The automated testing on checked in source code can be thought of like the bumper
7150
-
guards in bowling that prevent code quality from going too far off track.
7151
-
CI combined with unit and integration tests check that any code modifications
7152
-
do not break existing tests to ensure the software works as intended.</p>
7145
+
<p>Another major advantage with CI is that testing can be an automated step in
7146
+
the deployment process. Broken deployments can be prevented by running a
7147
+
comprehensive test suite of <ahref="/unit-testing.html">unit</a> and
7148
+
<ahref="/integration-testing.html">integration tests</a> when developers check in code
7149
+
to a source code repository. Any bugs accidentally introduced during a
7150
+
check-in that are caught by the test suite are reported and prevent the
7151
+
deployment from proceeding.</p>
7152
+
<p>The automated testing on checked in source code can be thought of like the
7153
+
bumper guards in bowling that prevent code quality from going too far off
7154
+
track. CI combined with unit and integration tests check that any code
7155
+
modifications do not break existing tests to ensure the software works as
7156
+
intended.</p>
7153
7157
<h2>Continuous integration example</h2>
7154
7158
<p>The following picture represents a high level perspective on how continuous
7155
7159
integration and deployment can work. </p>
@@ -7210,19 +7214,19 @@ <h2>Jenkins CI resources</h2>
7210
7214
<ahref="/django.html">Django</a> project.</p>
7211
7215
</li>
7212
7216
<li>
7213
-
<p>My book on <ahref="http://www.deploypython.com/">deploying Python web applications</a> walks
7214
-
through every step of setting up a Jenkins project with a WSGI application to
7215
-
enable continuous delivery. Take a look if you're not grokking all of the steps
7216
-
provided in these other blog posts.</p>
7217
+
<p>My book on <ahref="http://www.deploypython.com/">deploying Python web applications</a>
7218
+
walks through every step of setting up a Jenkins project with a WSGI
7219
+
application to enable continuous delivery. Take a look if you're not
7220
+
grokking all of the steps provided in these other blog posts.</p>
7217
7221
</li>
7218
7222
<li>
7219
7223
<p><ahref="http://michal.karzynski.pl/blog/2014/04/19/continuous-integration-server-for-django-using-jenkins/">Setting up Jenkins as a continuous integration server for Django</a>
7220
-
is another solid tutorial that also shows how to send email notifications as part
7221
-
of the build process.</p>
7224
+
is another solid tutorial that also shows how to send email notifications
7225
+
as part of the build process.</p>
7222
7226
</li>
7223
7227
<li>
7224
-
<p>If you're running into difficulty adding an SSH key to your Jenkins system account
7225
-
so you can connect to another server or Git repository
7228
+
<p>If you're running into difficulty adding an SSH key to your Jenkins system
7229
+
account so you can connect to another server or Git repository
7226
7230
<ahref="http://dcycleproject.org/blog/51/connecting-jenkins-and-git">this blog post on connecting Jenkins with Git</a>
7227
7231
to get the steps to solve that problem.</p>
7228
7232
</li>
@@ -7242,9 +7246,9 @@ <h2>Jenkins CI resources</h2>
7242
7246
</li>
7243
7247
<li>
7244
7248
<p><ahref="http://engineering.simondata.com/can-we-use-jenkins-for-that/">Can we use Jenkins for that?</a>
7245
-
looks at how one team uses Jenkins for more than typical continuous integration
7246
-
situations - they also use it as an administrative interface, cron jobs, data
7247
-
analytics pipelines and long-running scripts.</p>
7249
+
looks at how one team uses Jenkins for more than typical continuous
7250
+
integration situations - they also use it as an administrative interface,
7251
+
cron jobs, data analytics pipelines and long-running scripts.</p>
<metaname="description" content="Continuous integration automatically rebuildsand deploys applications as developers commit code. Learn more on Full Stack Python.">
9
+
<metaname="description" content="Continuous integration (CI) automatically rebuilds, tests and deploys applications as developers commit code.">
10
10
<linkrel="shortcut icon" href="/img/fsp-fav.png">
11
11
<title>Continuous Integration - Full Stack Python</title>
12
12
<!--[if lt IE 9]>
@@ -41,28 +41,32 @@
41
41
</div><divclass="row">
42
42
<divclass="col-md-8">
43
43
<h1>Continuous Integration</h1>
44
-
<p>Continuous integration automates the building, testing and deploying of applications.
45
-
Software projects, whether created by a single individual or entire teams, typically
46
-
use continuous integration as a hub to ensure important steps such as unit testing
47
-
are automated rather than manual processes.</p>
44
+
<p>Continuous integration automates the building, testing and deploying of
45
+
applications. Software projects, whether created by a single individual or
46
+
entire teams, typically use continuous integration as a hub to ensure
47
+
important steps such as unit testing are automated rather than manual
48
+
processes.</p>
48
49
<h2>Why is continuous integration important?</h2>
49
-
<p>When continuous integration (CI) is established as a step in a software project's
50
-
development process it can dramatically reduce deployment times by minimizing steps
51
-
that require human intervention. The only minor downside to using CI is that it
52
-
takes some initial time by a developer to set up and then there is some ongoing
53
-
maintainence if a project is broken into multiple parts, such as going from a
54
-
monolith architecture to <ahref="/microservices.html">microservices</a>.</p>
50
+
<p>When continuous integration (CI) is established as a step in a software
51
+
project's development process it can dramatically reduce deployment times
52
+
by minimizing steps that require human intervention. The only minor downside
53
+
to using CI is that it takes some initial time by a developer to set up and
54
+
then there is some ongoing maintainence if a project is broken into multiple
55
+
parts, such as going from a monolith architecture to
<p>Another major advantage with CI is that testing can be an automated step in the
57
-
deployment process. Broken deployments can be prevented by running a comprehensive
58
-
test suite of <ahref="/unit-testing.html">unit</a> and
59
-
<ahref="/integration-testing.html">integration tests</a> when developers check in code to a
60
-
source code repository. Any bugs accidentally introduced during a check-in that are
61
-
caught by the test suite are reported and prevent the deployment from proceeding.</p>
62
-
<p>The automated testing on checked in source code can be thought of like the bumper
63
-
guards in bowling that prevent code quality from going too far off track.
64
-
CI combined with unit and integration tests check that any code modifications
65
-
do not break existing tests to ensure the software works as intended.</p>
58
+
<p>Another major advantage with CI is that testing can be an automated step in
59
+
the deployment process. Broken deployments can be prevented by running a
60
+
comprehensive test suite of <ahref="/unit-testing.html">unit</a> and
61
+
<ahref="/integration-testing.html">integration tests</a> when developers check in code
62
+
to a source code repository. Any bugs accidentally introduced during a
63
+
check-in that are caught by the test suite are reported and prevent the
64
+
deployment from proceeding.</p>
65
+
<p>The automated testing on checked in source code can be thought of like the
66
+
bumper guards in bowling that prevent code quality from going too far off
67
+
track. CI combined with unit and integration tests check that any code
68
+
modifications do not break existing tests to ensure the software works as
69
+
intended.</p>
66
70
<h2>Continuous integration example</h2>
67
71
<p>The following picture represents a high level perspective on how continuous
68
72
integration and deployment can work. </p>
@@ -123,19 +127,19 @@ <h2>Jenkins CI resources</h2>
123
127
<ahref="/django.html">Django</a> project.</p>
124
128
</li>
125
129
<li>
126
-
<p>My book on <ahref="http://www.deploypython.com/">deploying Python web applications</a> walks
127
-
through every step of setting up a Jenkins project with a WSGI application to
128
-
enable continuous delivery. Take a look if you're not grokking all of the steps
129
-
provided in these other blog posts.</p>
130
+
<p>My book on <ahref="http://www.deploypython.com/">deploying Python web applications</a>
131
+
walks through every step of setting up a Jenkins project with a WSGI
132
+
application to enable continuous delivery. Take a look if you're not
133
+
grokking all of the steps provided in these other blog posts.</p>
130
134
</li>
131
135
<li>
132
136
<p><ahref="http://michal.karzynski.pl/blog/2014/04/19/continuous-integration-server-for-django-using-jenkins/">Setting up Jenkins as a continuous integration server for Django</a>
133
-
is another solid tutorial that also shows how to send email notifications as part
134
-
of the build process.</p>
137
+
is another solid tutorial that also shows how to send email notifications
138
+
as part of the build process.</p>
135
139
</li>
136
140
<li>
137
-
<p>If you're running into difficulty adding an SSH key to your Jenkins system account
138
-
so you can connect to another server or Git repository
141
+
<p>If you're running into difficulty adding an SSH key to your Jenkins system
142
+
account so you can connect to another server or Git repository
139
143
<ahref="http://dcycleproject.org/blog/51/connecting-jenkins-and-git">this blog post on connecting Jenkins with Git</a>
140
144
to get the steps to solve that problem.</p>
141
145
</li>
@@ -155,9 +159,9 @@ <h2>Jenkins CI resources</h2>
155
159
</li>
156
160
<li>
157
161
<p><ahref="http://engineering.simondata.com/can-we-use-jenkins-for-that/">Can we use Jenkins for that?</a>
158
-
looks at how one team uses Jenkins for more than typical continuous integration
159
-
situations - they also use it as an administrative interface, cron jobs, data
160
-
analytics pipelines and long-running scripts.</p>
162
+
looks at how one team uses Jenkins for more than typical continuous
163
+
integration situations - they also use it as an administrative interface,
164
+
cron jobs, data analytics pipelines and long-running scripts.</p>
0 commit comments