summaryrefslogtreecommitdiff
path: root/.html/devops/autodeploy.html
diff options
context:
space:
mode:
Diffstat (limited to '.html/devops/autodeploy.html')
-rw-r--r--.html/devops/autodeploy.html131
1 files changed, 131 insertions, 0 deletions
diff --git a/.html/devops/autodeploy.html b/.html/devops/autodeploy.html
new file mode 100644
index 0000000..67644a2
--- /dev/null
+++ b/.html/devops/autodeploy.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>
+ The Codex »
+ Notes towards automating deployment
+ </title>
+
+ <link
+ rel='stylesheet'
+ type='text/css'
+ href='http://fonts.googleapis.com/css?family=Buenard:400,700&amp;subset=latin,latin-ext'>
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="../media/css/reset.css">
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="../media/css/grimoire.css">
+</head>
+<body>
+
+<div id="shell">
+
+ <ol id="breadcrumbs">
+
+ <li class="crumb-0 not-last">
+
+ <a href="../">index</a>
+
+ </li>
+
+ <li class="crumb-1 not-last">
+
+ <a href="./">devops</a>
+
+ </li>
+
+ <li class="crumb-2 last">
+
+ autodeploy
+
+ </li>
+
+ </ol>
+
+
+
+ <div id="article">
+ <h1 id="notes-towards-automating-deployment">Notes towards automating deployment</h1>
+<p>This is mostly aimed at the hosted-apps folks; deploying packaged software for
+end users requires a slightly different approach.</p>
+<h2 id="assumptions">Assumptions</h2>
+<ol>
+<li>
+<p>You have one or more <em>services</em> to deploy. (If not, what are you doing
+here?)</p>
+</li>
+<li>
+<p>Your services are tracked in <em>source control</em>. (If not, go sort that out,
+then come back. No, seriously, <em>now</em>.)</p>
+</li>
+<li>
+<p>You will be deploying your services to one or more <em>environments</em>. An
+environment is an abstract thing: think “production,” not
+“web01.public.example.com.” (If not, where, exactly, will your service run?)</p>
+</li>
+<li>
+<p>For each service, in each environment, there are one or more <em>servers</em> to
+host the service. These servers are functionally identical. (If not, go pave
+them and rebuild them using Puppet, Chef, CFengine, or, hell, shell scripts
+and duct tape. An environment full of one-offs is the kind of hell I wouldn't
+wish on my worst enemy.)</p>
+</li>
+<li>
+<p>For each service, in each environment, there is a canonical series of steps
+that produce a “deployed” system.</p>
+</li>
+</ol>
+<hr>
+<ol>
+<li>Decide what code should be deployed. (This is a version control activity.)</li>
+<li>Get the code onto the fucking server.</li>
+<li>Decide what configuration values should be deployed. (This is also a
+ version control activity, though possibly not in the same repositories as
+ the code.)</li>
+<li>Get the configuration onto the fucking server.</li>
+<li>Get the code running with the configuration.</li>
+<li>Log to fucking syslog.</li>
+<li>When the machine reboots, make sure the code comes back running the same
+ configuration.</li>
+</ol>
+ </div>
+
+
+
+<div id="comments">
+<div id="disqus_thread"></div>
+<script type="text/javascript">
+ /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+ var disqus_shortname = 'grimoire'; // required: replace example with your forum shortname
+
+ /* * * DON'T EDIT BELOW THIS LINE * * */
+ (function() {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ })();
+</script>
+<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
+</div>
+
+
+
+ <div id="footer">
+ <p>
+
+ The Codex —
+
+ Powered by <a href="http://markdoc.org/">Markdoc</a>.
+
+<a href="https://bitbucket.org/ojacobson/grimoire.ca/src/master/wiki/devops/autodeploy.md">See this page on Bitbucket</a> (<a href="https://bitbucket.org/ojacobson/grimoire.ca/history-node/master/wiki/devops/autodeploy.md">history</a>).
+
+ </p>
+ </div>
+
+</div>
+</body>
+</html> \ No newline at end of file