From 76aed6ef732de38d82245b3d674f70bab30221e5 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Fri, 3 Jul 2015 22:31:49 -0400 Subject: Fuck it, serve the files directly. --- .html/devops/autodeploy.html | 131 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 .html/devops/autodeploy.html (limited to '.html/devops/autodeploy.html') 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 @@ + + + + + The Codex » + Notes towards automating deployment + + + + + + + + +
+ + + + + +
+

Notes towards automating deployment

+

This is mostly aimed at the hosted-apps folks; deploying packaged software for +end users requires a slightly different approach.

+

Assumptions

+
    +
  1. +

    You have one or more services to deploy. (If not, what are you doing +here?)

    +
  2. +
  3. +

    Your services are tracked in source control. (If not, go sort that out, +then come back. No, seriously, now.)

    +
  4. +
  5. +

    You will be deploying your services to one or more environments. An +environment is an abstract thing: think “production,” not +“web01.public.example.com.” (If not, where, exactly, will your service run?)

    +
  6. +
  7. +

    For each service, in each environment, there are one or more servers 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.)

    +
  8. +
  9. +

    For each service, in each environment, there is a canonical series of steps +that produce a “deployed” system.

    +
  10. +
+
+
    +
  1. Decide what code should be deployed. (This is a version control activity.)
  2. +
  3. Get the code onto the fucking server.
  4. +
  5. Decide what configuration values should be deployed. (This is also a + version control activity, though possibly not in the same repositories as + the code.)
  6. +
  7. Get the configuration onto the fucking server.
  8. +
  9. Get the code running with the configuration.
  10. +
  11. Log to fucking syslog.
  12. +
  13. When the machine reboots, make sure the code comes back running the same + configuration.
  14. +
+
+ + + +
+
+ + +comments powered by Disqus +
+ + + + + +
+ + \ No newline at end of file -- cgit v1.2.3