Add CI/CD

This commit is contained in:
Spencer Pincott committed 2022-08-11 21:26:29 -04:00
1 parent 3ccef65f72
commit c8115df2e9
3 files changed
+49 -1

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
FROM httpd
COPY ./public/ /usr/local/apache2/htdocs/
Vendored
+45
View File
@@ -0,0 +1,45 @@
node {
stage ("Checkout") {
checkout scm
}
stage ("Dependencies") {
npm ci
}
stage ("Build Gatsby") {
environment {
GATSBY_FIREBASE_API_KEY = credentials('FIREBASE_API_KEY')
GATSBY_AUTH_DOMAIN = spencassemble-sol-journal.firebaseapp.com
GATSBY_DATABASE_URL = https://spencassemble-sol-journal.firebaseio.com
GATSBY_PROJECT_ID = spencassemble-sol-journal
GATSBY_STORAGE_BUCKET = spencassemble-sol-journal.appspot.com
GATSBY_MESSAGING_SENDER_ID = 299522647169
GATSBY_APP_ID = 1:299522647169:web:fc74af44747fd7cef79980
}
steps {
npm run build
}
}
docker.withServer("ssh://[email protected]") {
docker.image("docker").withRun("") {
withCredentials([usernamePassword(credentialsId: "DockerHub", usernameVariable: "DOCKERUSER", passwordVariable: "DOCKERPASS")]) {
sh 'docker login -u "$DOCKERUSER" -p "$DOCKERPASS"'
}
stage ("Build Container") {
sh "docker image build -t spencerpincott/sol-journal:1.${env.BUILD_NUMBER} ."
}
stage ("Publish Container") {
sh "docker image push spencerpincott/sol-journal:1.${env.BUILD_NUMBER}"
}
}
}
stage ("Deploy") {
sh "ssh [email protected] 'docker stop sol-journal && docker rm sol-journal'"
sh "ssh [email protected] 'docker run -dit -p 5000:80 --name sol-journal --restart=always spencerpincott/sol-journal:1.${env.BUILD_NUMBER}'"
}
}
+1 -1
View File
@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="note" content="environment=development"/><title data-react-helmet="true"></title><link rel="icon" href="/favicon-32x32.png?v=cc0ce901fd5ad5624af6690b0b976c50" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><meta name="theme-color" content="#FFF"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=cc0ce901fd5ad5624af6690b0b976c50"/><script src="/socket.io/socket.io.js"></script></head><body><div id="___gatsby"></div><script src="/polyfill.js" nomodule=""></script><script src="/commons.js"></script></body></html>
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="generator" content="Gatsby 4.20.0"/><meta data-react-helmet="true" name="description" label="Connect with your soul through a simple, beautiful journaling experience from any of your devices."/><meta name="theme-color" content="#FFF"/><title data-react-helmet="true">Sol Journal</title><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block;vertical-align:top}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript><script type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script><link rel="icon" href="/favicon-32x32.png" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><style data-emotion-css="yjr2v9">*{-webkit-transition:0.2s border-color ease-in-out,0.2s fill ease-in-out, 0.2s box-shadow ease-in-out,0.2s background-color ease-in-out, 0.2s color ease-in-out;transition:0.2s border-color ease-in-out,0.2s fill ease-in-out, 0.2s box-shadow ease-in-out,0.2s background-color ease-in-out, 0.2s color ease-in-out;overflow:-moz-scrollbars-none;}*::-webkit-scrollbar{width:0 !important;}html{background-color:#FFF;}h1{font-family:"Montserrat",-apple-system,BlinkMacSystemFont, "Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans", "Droid Sans","Helvetica Neue",sans-serif;}body{margin:0;padding:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto", "Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans", "Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}</style><style data-emotion="css gxfxq0">.css-gxfxq0{background-color:#FAFBFC;height:60px;display:grid;grid-template-areas:"... nav ...";grid-template-columns:1fr minmax(240px, 600px) 1fr;grid-gap:10px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-width:1px;border-color:#EAEAEA;border-style:solid;}</style><div class="css-gxfxq0 eyki9564"><style data-emotion="css 1q4vjta">.css-1q4vjta{grid-area:nav;max-width:600px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}</style><div class="css-1q4vjta eyki9563"><style data-emotion="css 1drjoih">.css-1drjoih{height:40px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-family:"Montserrat",sans-serif;font-weight:700;font-size:18px;}.css-1drjoih:hover{cursor:pointer;}</style><div class="css-1drjoih eyki9562"><svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0)"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0546 4.63124C9.29788 4.63124 4.63112 9.29801 4.63112 15.0548C4.63112 20.8115 9.29789 25.4783 15Line truncated