Compare commits
3 Commits
cbbf6550e9
...
33323b5ea1
Author | SHA1 | Date | |
---|---|---|---|
33323b5ea1 | |||
ac11e2d066 | |||
53cfd59866 |
@ -3,12 +3,12 @@ WORKDIR /usr/src/app
|
||||
|
||||
FROM base AS install
|
||||
RUN mkdir -p /temp/build
|
||||
COPY package.json bun.lockb /temp/build/
|
||||
COPY ./chat-app/package.json ./chat-app/bun.lockb /temp/build/
|
||||
RUN cd /temp/build && bun install --frozen-lockfile
|
||||
|
||||
FROM base AS release
|
||||
COPY --from=install /temp/build/node_modules node_modules
|
||||
COPY . .
|
||||
COPY ./chat-app .
|
||||
|
||||
ENV NODE_ENV=production
|
||||
RUN bun run build
|
135
slides/deployment.html
Normal file
135
slides/deployment.html
Normal file
@ -0,0 +1,135 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Deploying Your Dumb Ideas with Dokku</title>
|
||||
<meta name="description" content="The slides for a talk about deploying by Dave Smith-Hayes">
|
||||
<meta name="author" content="Dave Smith-Hayes">
|
||||
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="stylesheet" href="dist/reset.css">
|
||||
<link rel="stylesheet" href="dist/reveal.css">
|
||||
<link rel="stylesheet" href="dist/theme/black.css" id="theme">
|
||||
|
||||
<!-- Theme used for syntax highlighting of code -->
|
||||
<link rel="stylesheet" href="plugin/highlight/monokai.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="reveal">
|
||||
<div class="slides">
|
||||
<!-- Introduction -->
|
||||
<section>
|
||||
<h1>Deploying</h1>
|
||||
<h3 class="fragment">Your Dumb Ideas</h3>
|
||||
<h3 class="fragment">With Dokku</h3>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h1>Who am I?</h1>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h1>Dave Smith-Hayes</h1>
|
||||
<ul>
|
||||
<li class="fragment">Developer</li>
|
||||
<li class="fragment">Father</li>
|
||||
<li class="fragment">JavaScript Enjoyer</li>
|
||||
<li class="fragment">Web Software Deployer</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h1>What is deploying?</h1>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>Releasing software to be used.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>How it works for Web</h3>
|
||||
<ul>
|
||||
<li class="fragment">Have a DNS record point to an IP</li>
|
||||
<li class="fragment">Have a webserver runnning at that IP</li>
|
||||
<li class="fragment">Have that webserver proxy requests to the application</li>
|
||||
<ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h1>My history of deploying</h1>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<ul>
|
||||
<li class="fragment">cPanel File Manager</li>
|
||||
<li class="fragment">FTP to Shared Hosting</li>
|
||||
<li class="fragment"><code>$ git pull</code></li>
|
||||
<li class="fragment">Jenkins & Ansible build VM Images</li>
|
||||
<li class="fragment">Packer & Terraform build Continers</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Doing it Yourself</h2>
|
||||
<ul>
|
||||
<li>Do not use AWS, its too expensive</li>
|
||||
<li>Your small project is not worth the cost</li>
|
||||
<li>Use a small VPS from DigitalOcean or Linode</li>
|
||||
<li>Get a public IP address and root access</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Blue/Green Deployment</h3>
|
||||
</section>
|
||||
|
||||
<!-- Dokku -->
|
||||
|
||||
<section>
|
||||
<h2>What Dokku Does</h2>
|
||||
<ul>
|
||||
<li>Creates a <code>dokku</code> user on your system</li>
|
||||
<li>Installs all the services for running Dokku
|
||||
<ul>
|
||||
<li>Docker</li>
|
||||
<li>NGiNX</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Create an application.</h3>
|
||||
<pre>
|
||||
$ dokku apps:create chat.freedoom.party
|
||||
-----> Creating chat.freedoom.party...
|
||||
-----> Creating new app virtual host file...
|
||||
</pre>
|
||||
|
||||
<!-- Deployment Example -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- JavaScript for the Slide Deck to Run -->
|
||||
<script src="dist/reveal.js"></script>
|
||||
<script src="plugin/notes/notes.js"></script>
|
||||
<script src="plugin/markdown/markdown.js"></script>
|
||||
<script src="plugin/highlight/highlight.js"></script>
|
||||
<script>
|
||||
// More info about initialization & config:
|
||||
// - https://revealjs.com/initialization/
|
||||
// - https://revealjs.com/config/
|
||||
Reveal.initialize({
|
||||
hash: true,
|
||||
|
||||
// Learn about plugins: https://revealjs.com/plugins/
|
||||
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -30,7 +30,7 @@
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div>Publishing an application to be used</div>
|
||||
<div>Publishing an application to be used.</div>
|
||||
</section>
|
||||
|
||||
<!-- My history of deploying shit -->
|
||||
|
Loading…
Reference in New Issue
Block a user