Skip to content

Commit 9add9ec

Browse files
committed
new continuous integration diagram
1 parent 6c6d1ad commit 9add9ec

File tree

9 files changed

+140
-1
lines changed

9 files changed

+140
-1
lines changed

all.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2429,6 +2429,18 @@ <h2>Why is continuous integration important?</h2>
24292429
checked by automated tests. Source code changes as a project evolves.
24302430
CI combined with unit and integration tests check that code modifications
24312431
do not break existing tests ensure the software works as intended.</p>
2432+
<h2>Continuous integration example</h2>
2433+
<p>The following picture represents a high level perspective on how continuous
2434+
integration and deployment can work. When new code is commited to a source
2435+
repository there is a hook that notifies the continuous integration server
2436+
that new code needs to be built (the continuous integration server could also
2437+
poll the source code repository if a notification is not possible).</p>
2438+
<p>The continuous integration server pulls the code to build and test it. If
2439+
all tests pass, the continuous integration server begins the deployment
2440+
process. The new code is pulled down to the server where the deployment is
2441+
taking place. Finally the deployment process is completed via restarting
2442+
services and related deployment activities.</p>
2443+
<p><img src="theme/img/continuous-integration.png" width="100%" class="technical-diagram" alt="One potential way for continuous integration to work." /></p>
24322444
<h2>Open source CI projects</h2>
24332445
<ul>
24342446
<li>
@@ -4117,6 +4129,7 @@ <h1>Change Log</h1>
41174129
<h2>2014</h2>
41184130
<h3>November</h3>
41194131
<ul>
4132+
<li>Adding a nice new continuous integration diagram.</li>
41204133
<li>More Django and database resources.</li>
41214134
<li>Revising development environments page and adding new resources.</li>
41224135
<li>Adding my new Flask blog post on choose your own adventure presentations

change-log.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ <h1>Change Log</h1>
4646
<h2>2014</h2>
4747
<h3>November</h3>
4848
<ul>
49+
<li>Adding a nice new continuous integration diagram.</li>
4950
<li>More Django and database resources.</li>
5051
<li>Revising development environments page and adding new resources.</li>
5152
<li>Adding my new Flask blog post on choose your own adventure presentations

continuous-integration.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,18 @@ <h2>Why is continuous integration important?</h2>
4747
checked by automated tests. Source code changes as a project evolves.
4848
CI combined with unit and integration tests check that code modifications
4949
do not break existing tests ensure the software works as intended.</p>
50+
<h2>Continuous integration example</h2>
51+
<p>The following picture represents a high level perspective on how continuous
52+
integration and deployment can work. When new code is commited to a source
53+
repository there is a hook that notifies the continuous integration server
54+
that new code needs to be built (the continuous integration server could also
55+
poll the source code repository if a notification is not possible).</p>
56+
<p>The continuous integration server pulls the code to build and test it. If
57+
all tests pass, the continuous integration server begins the deployment
58+
process. The new code is pulled down to the server where the deployment is
59+
taking place. Finally the deployment process is completed via restarting
60+
services and related deployment activities.</p>
61+
<p><img src="theme/img/continuous-integration.png" width="100%" class="technical-diagram" alt="One potential way for continuous integration to work." /></p>
5062
<h2>Open source CI projects</h2>
5163
<ul>
5264
<li>

feeds/all.atom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2014-11-21T10:04:16Z</updated></feed>
2+
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2014-11-21T17:06:51Z</updated></feed>

source/content/pages/06-automation/0602-continuous-integration.markdown

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,21 @@ checked by automated tests. Source code changes as a project evolves.
2626
CI combined with unit and integration tests check that code modifications
2727
do not break existing tests ensure the software works as intended.
2828

29+
## Continuous integration example
30+
The following picture represents a high level perspective on how continuous
31+
integration and deployment can work. When new code is commited to a source
32+
repository there is a hook that notifies the continuous integration server
33+
that new code needs to be built (the continuous integration server could also
34+
poll the source code repository if a notification is not possible).
35+
36+
The continuous integration server pulls the code to build and test it. If
37+
all tests pass, the continuous integration server begins the deployment
38+
process. The new code is pulled down to the server where the deployment is
39+
taking place. Finally the deployment process is completed via restarting
40+
services and related deployment activities.
41+
42+
<img src="theme/img/continuous-integration.png" width="100%" class="technical-diagram" alt="One potential way for continuous integration to work." />
43+
2944

3045
## Open source CI projects
3146
* [Jenkins](http://jenkins-ci.org/) is a common CI server for building and

source/content/pages/11-misc/1104-change-log.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ the
2424

2525
## 2014
2626
### November
27+
* Adding a nice new continuous integration diagram.
2728
* More Django and database resources.
2829
* Revising development environments page and adding new resources.
2930
* Adding my new Flask blog post on choose your own adventure presentations
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<mockup version="1.0" skin="sketch" fontFace="Balsamiq Sans" measuredW="999" measuredH="539" mockupW="873" mockupH="513">
2+
<controls>
3+
<control controlID="4" controlTypeID="__group__" x="222" y="290" w="240" h="128" measuredW="240" measuredH="128" zOrder="1" locked="false" isInGroup="-1">
4+
<groupChildrenDescriptors>
5+
<control controlID="0" controlTypeID="com.balsamiq.mockups::Canvas" x="0" y="0" w="240" h="128" measuredW="100" measuredH="70" zOrder="0" locked="false" isInGroup="4"/>
6+
<control controlID="1" controlTypeID="com.balsamiq.mockups::SubTitle" x="21" y="33" w="-1" h="-1" measuredW="129" measuredH="27" zOrder="1" locked="false" isInGroup="4">
7+
<controlProperties>
8+
<text>Continuous%20</text>
9+
</controlProperties>
10+
</control>
11+
<control controlID="2" controlTypeID="com.balsamiq.mockups::SubTitle" x="21" y="60" w="-1" h="-1" measuredW="198" measuredH="27" zOrder="2" locked="false" isInGroup="4">
12+
<controlProperties>
13+
<text>Integration%20Server</text>
14+
</controlProperties>
15+
</control>
16+
</groupChildrenDescriptors>
17+
</control>
18+
<control controlID="5" controlTypeID="com.balsamiq.mockups::Canvas" x="126" y="26" w="873" h="513" measuredW="100" measuredH="70" zOrder="0" locked="false" isInGroup="-1">
19+
<controlProperties>
20+
<borderColor>16777215</borderColor>
21+
</controlProperties>
22+
</control>
23+
<control controlID="6" controlTypeID="__group__" x="611" y="290" w="240" h="128" measuredW="240" measuredH="128" zOrder="2" locked="false" isInGroup="-1">
24+
<groupChildrenDescriptors>
25+
<control controlID="4" controlTypeID="com.balsamiq.mockups::Canvas" x="0" y="0" w="240" h="128" measuredW="100" measuredH="70" zOrder="0" locked="false" isInGroup="6"/>
26+
<control controlID="5" controlTypeID="com.balsamiq.mockups::SubTitle" x="40" y="51" w="-1" h="-1" measuredW="105" measuredH="27" zOrder="1" locked="false" isInGroup="6">
27+
<controlProperties>
28+
<text>Server%28s%29</text>
29+
</controlProperties>
30+
</control>
31+
</groupChildrenDescriptors>
32+
</control>
33+
<control controlID="7" controlTypeID="__group__" x="222" y="82" w="240" h="128" measuredW="240" measuredH="128" zOrder="3" locked="false" isInGroup="-1">
34+
<groupChildrenDescriptors>
35+
<control controlID="4" controlTypeID="com.balsamiq.mockups::Canvas" x="0" y="0" w="240" h="128" measuredW="100" measuredH="70" zOrder="0" locked="false" isInGroup="7"/>
36+
<control controlID="5" controlTypeID="com.balsamiq.mockups::SubTitle" x="40" y="51" w="-1" h="-1" measuredW="158" measuredH="27" zOrder="1" locked="false" isInGroup="7">
37+
<controlProperties>
38+
<text>Source%20control</text>
39+
</controlProperties>
40+
</control>
41+
</groupChildrenDescriptors>
42+
</control>
43+
<control controlID="9" controlTypeID="com.balsamiq.mockups::Arrow" x="229" y="210" w="43" h="80" measuredW="150" measuredH="100" zOrder="4" locked="false" isInGroup="-1">
44+
<controlProperties>
45+
<backgroundAlpha>0.75</backgroundAlpha>
46+
<curvature>-1</curvature>
47+
<leftArrow>false</leftArrow>
48+
<text>Step%201%3A%20New%20code%20notification</text>
49+
</controlProperties>
50+
</control>
51+
<control controlID="10" controlTypeID="com.balsamiq.mockups::Arrow" x="408" y="210" w="15" h="80" measuredW="150" measuredH="100" zOrder="5" locked="false" isInGroup="-1">
52+
<controlProperties>
53+
<backgroundAlpha>0.75</backgroundAlpha>
54+
<curvature>1</curvature>
55+
<leftArrow>true</leftArrow>
56+
<rightArrow>false</rightArrow>
57+
<stroke>solid</stroke>
58+
<text>Step%202%3A%20Pull%20new%20code</text>
59+
</controlProperties>
60+
</control>
61+
<control controlID="14" controlTypeID="com.balsamiq.mockups::Arrow" x="462" y="385" w="28" h="72" measuredW="150" measuredH="100" zOrder="6" locked="false" isInGroup="-1">
62+
<controlProperties>
63+
<leftArrow>false</leftArrow>
64+
<rightArrow>false</rightArrow>
65+
<stroke>solid</stroke>
66+
<text/>
67+
</controlProperties>
68+
</control>
69+
<control controlID="15" controlTypeID="com.balsamiq.mockups::Arrow" x="417" y="418" w="73" h="39" measuredW="150" measuredH="100" zOrder="7" locked="false" isInGroup="-1">
70+
<controlProperties>
71+
<curvature>-1</curvature>
72+
<leftArrow>true</leftArrow>
73+
<rightArrow>false</rightArrow>
74+
<stroke>solid</stroke>
75+
<text>Step%203%3A%20Build%20and%20Test</text>
76+
</controlProperties>
77+
</control>
78+
<control controlID="16" controlTypeID="com.balsamiq.mockups::Arrow" x="462" y="305" w="149" h="48" measuredW="150" measuredH="100" zOrder="8" locked="false" isInGroup="-1">
79+
<controlProperties>
80+
<leftArrow>false</leftArrow>
81+
<text>Step%204%3A%20Begin%20deployment</text>
82+
</controlProperties>
83+
</control>
84+
<control controlID="17" controlTypeID="com.balsamiq.mockups::Arrow" x="462" y="159" w="226" h="131" measuredW="150" measuredH="100" zOrder="9" locked="false" isInGroup="-1">
85+
<controlProperties>
86+
<rightArrow>false</rightArrow>
87+
<text>Step%205%3A%20Pull%20code</text>
88+
</controlProperties>
89+
</control>
90+
<control controlID="18" controlTypeID="com.balsamiq.mockups::Arrow" x="462" y="353" w="149" h="48" measuredW="150" measuredH="100" zOrder="10" locked="false" isInGroup="-1">
91+
<controlProperties>
92+
<leftArrow>false</leftArrow>
93+
<text>Step%206%3A%20Finish%20deployment</text>
94+
</controlProperties>
95+
</control>
96+
</controls>
97+
</mockup>
38.4 KB
Loading
38.4 KB
Loading

0 commit comments

Comments
 (0)