Merge pull request #91 from spotify/bil/add-brewfile

Added Brewfile for installing Docker, Git and other dependencies
This commit is contained in:
Bilawal Hameed
2020-02-07 14:46:25 +01:00
committed by GitHub
4 changed files with 70 additions and 25 deletions
+18
View File
@@ -0,0 +1,18 @@
###
# This will download all Homebrew dependencies.
###
# Shared
brew "git"
brew "docker"
brew "docker-compose"
brew "protobuf"
brew "prototool"
cask "docker"
# Frontend
brew "node@12"
brew "yarn"
# Backend
brew "go"
+24 -3
View File
@@ -1,14 +1,35 @@
###
# All-in-one build command.
# All-in-one commands
###
build: build-yarn-dependencies build-protocol-definitions
init: init-secrets
install: install-homebrew-dependencies install-yarn-dependencies install-forego
start: build-protocol-definitions
forego start
###
# Setup secrets
###
init-secrets:
cp secrets.env.example secrets.env
###
# Install any Homebrew dependencies specified in Brewfile
###
install-homebrew-dependencies:
brew bundle
###
# Download dependencies from the Frontend using Yarn.
###
build-yarn-dependencies:
install-yarn-dependencies:
yarn --cwd ${PWD}/frontend install
###
# Install Forego for running both frontend and backend in a single command.
###
install-forego:
go get -u github.com/ddollar/forego
###
# Protobuf Definitions.
# This will generate Protobuf definitions from ./proto to both Go and JS/TypeScript.
+13 -22
View File
@@ -8,12 +8,22 @@ Backstage is an open platform for building developer portals.
## Getting started
### Install Dependencies with Homebrew and Yarn
Run the following to install relevant dependencies (such as Git, Docker, etc):
```bash
# If you don't have Homebrew, run the following command:
# $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ make install
```
### Secrets
To setup secrets, copy the `secrets.env.example` to `secrets.env` as such:
```bash
$ cp secrets.env.example secrets.env
$ make init-secrets
```
### Protobuf Definitions
@@ -28,29 +38,10 @@ See [proto/README.md](proto/README.md) for more information.
## Running Locally
First step is to set up a `secrets.env` file in the root of the repo. Use the following template but fill in your own values (without quotes!):
Once you've installed all dependencies, start serving the frontend using `yarn`:
```bash
# GitHub username
BOSS_GH_USERNAME=<username>
# GitHub Access token with repo scope, created at https://github.com/settings/tokens
BOSS_GH_ACCESS_TOKEN=<access-token>
```
Then run start all backend services using `docker-compose`:
```bash
$ ./docker-compose.yaml up --build
```
And finally install all dependencies and start serving the frontend using `yarn`:
```bash
$ cd frontend
$ yarn install
$ yarn start
$ make start
```
## Plugins
+15
View File
@@ -1,4 +1,19 @@
###
# The environment you want to run the frontend (running using create-react-app) in.
# In production, these should be `production` and false respectively.
###
NODE_ENV=development
NODE_DEBUG=true
###
# This is the full HTTP endpoint to the GraphQL API you'll want to point to.
# For example (in development): http://localhost:8080/graphql
###
REACT_APP_GRAPHQL_API=""
###
# A valid GitHub access token.
# To create one, visit https://github.com/settings/tokens in your browser.
###
BOSS_GH_USERNAME=""
BOSS_GH_ACCESS_TOKEN=""