diff options
| author | Owen Jacobson <owen.jacobson@grimoire.ca> | 2015-07-03 22:31:49 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen.jacobson@grimoire.ca> | 2015-07-03 22:35:09 -0400 |
| commit | 76aed6ef732de38d82245b3d674f70bab30221e5 (patch) | |
| tree | d50e9a296d91ef8a49bcb29c3e80096f200a3c26 /.html/devops/autodeploy.html | |
| parent | 92f66d3e3a0996bb1fad9dc83d7e184f92673e5d (diff) | |
Fuck it, serve the files directly.
Diffstat (limited to '.html/devops/autodeploy.html')
| -rw-r--r-- | .html/devops/autodeploy.html | 131 |
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&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 |
