mirror of
https://github.com/kennethreitz-archive/conductofcode.git
synced 2026-06-05 23:30:19 +00:00
183 lines
8.2 KiB
HTML
183 lines
8.2 KiB
HTML
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
<title>Continuous Integration — pythonguide 0.0.1 documentation</title>
|
|
|
|
<link rel="stylesheet" href="../_static/flasky.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT: '../',
|
|
VERSION: '0.0.1',
|
|
COLLAPSE_INDEX: false,
|
|
FILE_SUFFIX: '.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|
<link rel="top" title="pythonguide 0.0.1 documentation" href="../index.html" />
|
|
<link rel="next" title="Speed" href="speed.html" />
|
|
<link rel="prev" title="Systems Administration" href="admin.html" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
|
|
|
|
</head>
|
|
<body>
|
|
<div class="related">
|
|
<h3>Navigation</h3>
|
|
<ul>
|
|
<li class="right" style="margin-right: 10px">
|
|
<a href="../genindex.html" title="General Index"
|
|
accesskey="I">index</a></li>
|
|
<li class="right" >
|
|
<a href="speed.html" title="Speed"
|
|
accesskey="N">next</a> |</li>
|
|
<li class="right" >
|
|
<a href="admin.html" title="Systems Administration"
|
|
accesskey="P">previous</a> |</li>
|
|
<li><a href="../index.html">pythonguide 0.0.1 documentation</a> »</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
<div class="body">
|
|
|
|
<div class="section" id="continuous-integration">
|
|
<h1>Continuous Integration<a class="headerlink" href="#continuous-integration" title="Permalink to this headline">¶</a></h1>
|
|
<div class="section" id="why">
|
|
<h2>Why?<a class="headerlink" href="#why" title="Permalink to this headline">¶</a></h2>
|
|
<p>Martin Fowler, who first wrote about <a class="reference external" href="http://martinfowler.com/articles/continuousIntegration.html">Continuous Integration</a> (short: CI) together with Kent Beck, describes the CI as follows:</p>
|
|
<blockquote>
|
|
<div>Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.</div></blockquote>
|
|
</div>
|
|
<div class="section" id="jenkins">
|
|
<h2>Jenkins<a class="headerlink" href="#jenkins" title="Permalink to this headline">¶</a></h2>
|
|
<p><a class="reference external" href="http://jenkins-ci.org">Jenkins CI</a> is an extensible continuous integration engine. Use it.</p>
|
|
</div>
|
|
<div class="section" id="buildbot">
|
|
<h2>Buildbot<a class="headerlink" href="#buildbot" title="Permalink to this headline">¶</a></h2>
|
|
<p><a class="reference external" href="http://buildbot.net/buildbot/docs/current">Buildbot</a> is a Python system to automate the compile/test cycle to validate code changes.</p>
|
|
</div>
|
|
<div class="section" id="mule">
|
|
<h2>Mule?<a class="headerlink" href="#mule" title="Permalink to this headline">¶</a></h2>
|
|
<div class="admonition-todo admonition" id="index-0">
|
|
<p class="first admonition-title">Todo</p>
|
|
<p class="last">Write about Mule</p>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="tox">
|
|
<h2>Tox<a class="headerlink" href="#tox" title="Permalink to this headline">¶</a></h2>
|
|
<p><a class="reference external" href="https://bitbucket.org/hpk42/tox">tox</a> is an automation tool providing packaging, testing and deployment of Python software right from the console or CI server.
|
|
It is a generic virtualenv management and test command line tool which provides the following features:</p>
|
|
<ul class="simple">
|
|
<li>Checking that packages install correctly with different Python versions and interpreters</li>
|
|
<li>Running tests in each of the environments, configuring your test tool of choice</li>
|
|
<li>Acting as a frontend to Continuous Integration servers, reducing boilerplate and merging CI and shell-based testing.</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar">
|
|
<div class="sphinxsidebarwrapper"><h3><a href="http://python-guide.org">Python Guide</a></h3>
|
|
<p>
|
|
This opinionated guide exists to provide both novice and expert Python developers a best-practice handbook to the installation, configuration, and usage of Python on a daily basis.
|
|
</p>
|
|
<h3><a href="../index.html">Table Of Contents</a></h3>
|
|
<ul>
|
|
<li><a class="reference internal" href="#">Continuous Integration</a><ul>
|
|
<li><a class="reference internal" href="#why">Why?</a></li>
|
|
<li><a class="reference internal" href="#jenkins">Jenkins</a></li>
|
|
<li><a class="reference internal" href="#buildbot">Buildbot</a></li>
|
|
<li><a class="reference internal" href="#mule">Mule?</a></li>
|
|
<li><a class="reference internal" href="#tox">Tox</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>Related Topics</h3>
|
|
<ul>
|
|
<li><a href="../index.html">Documentation overview</a><ul>
|
|
<li>Previous: <a href="admin.html" title="previous chapter">Systems Administration</a></li>
|
|
<li>Next: <a href="speed.html" title="next chapter">Speed</a></li>
|
|
</ul></li>
|
|
</ul>
|
|
<h3>This Page</h3>
|
|
<ul class="this-page-menu">
|
|
<li><a href="../_sources/scenarios/ci.txt"
|
|
rel="nofollow">Show Source</a></li>
|
|
</ul>
|
|
<div id="searchbox" style="display: none">
|
|
<h3>Quick search</h3>
|
|
<form class="search" action="../search.html" method="get">
|
|
<input type="text" name="q" />
|
|
<input type="submit" value="Go" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
<p class="searchtip" style="font-size: 90%">
|
|
Enter search terms or a module, class or function name.
|
|
</p>
|
|
</div>
|
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="footer">
|
|
© Copyright 2012. A <a href="http://kennethreitz.com/pages/open-projects.html">Kenneth Reitz</a> Project. <a href="http://creativecommons.org/licenses/by-sa/3.0/"> Creative Commons Share-Alike 3.0</a>..
|
|
</div>
|
|
<a href="https://github.com/kennethreitz/python-guide" class="github">
|
|
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" />
|
|
</a>
|
|
|
|
<script type="text/javascript" src="//www.hellobar.com/hellobar.js"></script>
|
|
<script type="text/javascript">
|
|
new HelloBar(36402,48802);
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
var _gaq2 = _gaq2 || [];
|
|
_gaq2.push(['_setAccount', 'UA-8742933-10']);
|
|
_gaq2.push(['_setDomainName', 'none']);
|
|
_gaq2.push(['_setAllowLinker', true]);
|
|
_gaq2.push(['_trackPageview']);
|
|
|
|
(function() {
|
|
var ga2 = document.createElement('script'); ga.type = 'text/javascript'; ga2.async = true;
|
|
ga2.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga2, s);
|
|
})();
|
|
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
(function() {
|
|
var t = document.createElement('script');
|
|
t.type = 'text/javascript';
|
|
t.async = true;
|
|
t.id = 'gauges-tracker';
|
|
t.setAttribute('data-site-id',
|
|
'4ddc1cfaf5a1f50fcc000001');
|
|
t.src = '//secure.gaug.es/track.js';
|
|
var s = document.getElementsByTagName('script')[0];
|
|
s.parentNode.insertBefore(t, s);
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html> |