Gatsby - How to automate deployment using Github Actions - Deepstash
Machine Learning With Google

Learn more about computerscience with this collection

Understanding machine learning models

Improving data analysis and decision-making

How Google uses logic in machine learning

Machine Learning With Google

Discover 95 similar ideas in

It takes just

14 mins to read

Motivation

Motivation

One of the goals I have set for myself is to be consistant at writing. This means I will have to frequently publish the articles. For the first few posts, I did manual deployments from my laptop. Now, I have automated the process. As soon as I merge a post to the master branch, a deployment script will publish the website. I have achieved this using Github Actions .

Setting up the automated deployment involved writing a workflow . A workflow is nothing but a sequence of jobs, each involving a sequence of steps. I kept my workflow simple. It consists of a single job with a few steps.

1

12 reads

Checkout The Code

The first step, of course, is to checkout the master branch. This is done using the actions/checkout action, which is a pretty standard action everyone uses.

1

4 reads

Setup Node

Next, I have to build the source code. For that I need NodeJS setup in the machine where the job is running. The runner is simply a blank server at the time of creation (of course it has the "runner" software needed to run the workflow). I use the Github-hosted runner. The default Ubuntu server that Github provides is sufficient for my usecase. I digress. On the runner server, I setup NodeJs using the action setup-node . This, again, is a fairly common action. It takes as input the node version you need. I use version 14.x

1

0 reads

Install Depend

The next step is pretty obvious. It is to install the library that the application needs using the command npm ci . If you are wondering why I did not use npm install , this article might help.

1

0 reads

Build And Deploy

package.json contains deployment script. This script is a combination of two commands; gatsby build --prefix-paths and gh-pages -d public . In the last step of the workflow, I run this command by running the following shell script.

Before running the npm command, I have to set the remote url of the repository, which requires a secret GITHUB_TOKEN . This is a secret that is automatically created for you when you enable Github Actions on your repository. Also, the npm command needs the information of the user running it. We provide it using the param -u . Read about it here

1

1 read

CURATED BY

CURATOR'S NOTE

Using GitHub Actions.

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving & library

Unlimited history

Unlimited listening to ideas

Downloading & offline access

Personalized recommendations

Supercharge your mind with one idea per day

Enter your email and spend 1 minute every day to learn something new.

Email

I agree to receive email updates