Skip to content

Commit

Permalink
Use Docker (#94)
Browse files Browse the repository at this point in the history
* Update Angular Versions (resolves #71)
* Use Angular Universal (resolves #92)
* Build Docker Image #91
* Bump minor version
  • Loading branch information
clarkmalmgren committed Dec 6, 2017
1 parent af97d22 commit 95c665a
Show file tree
Hide file tree
Showing 88 changed files with 5,974 additions and 3,052 deletions.
34 changes: 27 additions & 7 deletions .angular-cli.json
@@ -1,13 +1,12 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"version": "1.0.0-beta.24",
"name": "bolingbrook-church"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"outDir": "dist/browser",
"assets": [
"assets",
"favicon.ico"
Expand All @@ -19,7 +18,6 @@
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"mobile": false,
"styles": [
"styles.css",
"theme.scss"
Expand All @@ -32,12 +30,34 @@
"prod": "environments/environment.prod.ts",
"beta": "environments/environment.beta.ts"
}
},
{
"platform": "server",
"root": "src",
"outDir": "dist/server",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.server.ts",
"test": "test.ts",
"tsconfig": "tsconfig.server.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.css",
"theme.scss"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts",
"beta": "environments/environment.beta.ts"
}
}
],
"addons": [
],
"packages": [
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
Expand Down
21 changes: 15 additions & 6 deletions .travis.yml
@@ -1,22 +1,31 @@
language: node_js

node_js:
- 'node'

sudo: required

services:
- docker

before_script:
- npm install -g @angular/cli

script:
- ng lint
- ng test --browsers=PhantomJS --reporters=mocha,coverage-istanbul --single-run --code-coverage --progress=false
- ng build -prod --progress=false
- npm run build:ssr

after_success:
- ./node_modules/coveralls/bin/coveralls.js < coverage/lcov.info

before_deploy:
- node pre-deploy.js
- node docker

deploy:
provider: releases
api_key:
secure: wp0qvTH64CQrjYlso42DsOUT9FaSjK0T5VHtPquesnPgg+JNGxK9tn7jQxWlMMzibwQ5+JjOdUcH+imiL7rm0yiPwrT9yqHn/7o6F67D3OGTEMxfsTyCUgRHUJWsf0ats1RTlwCnOucz55t0fP8stmRV6zl5qSxskD1W0D8lC5cfGjeEemUi0St0cDsFwPNwVCxi04dflbWi++F7rWBzeeyuhtMNUtED4lMR0/bb+E9hcI6dVvsCO1Pi+yjcsTuFtPYgvBgYPLvn5UtvEo1XiMQHBgbVTNyoCjR6mFJvfAnzjMC5/fDKiLQvBnpf2t7t2uW5aiRL5xuBNI9Hc9oIAZZM7fO8sGwj+gAiRHY81S1m8twnNwOBcjqBxDPKLzz0UYce4AznvFRk2+nSdrGK8j9B63rNjmE3BJ1P3K5EIv/krAebqBLtnezl4oJTha4ZEHCfHhFx4lBFIFfc/UKfCzS/VMUDBSyYcVXINACwaQAk70v5liuaKSaj1Umly6DinfPdTOUPA8O/pCsuHx98HNzV5rc7RO134V6BPu5FaT575m9Rrr0zOhExVeawWKQwfj99L4aW2COvO7G2ycD9cF6y1oJRHQPDatvM/iEo+fg3x+M8CeSS6/7xYF5w+e9wLEIo52e4tyJAnCrp0gjePwp6iVPPCT1opkybAb9GloE=
provider: script
file: release.tar.gz
skip_cleanup: true
script: deploy.sh
on:
repo: clarkmalmgren/bolingbrook-church
tags: true
8 changes: 8 additions & 0 deletions deploy.sh
@@ -0,0 +1,8 @@
#! /bin/bash

docker --version
pip install --user awscli
export PATH=$PATH:$HOME/.local/bin

eval $(aws ecr get-login --region us-east-1)
docker push 971947037958.dkr.ecr.us-east-1.amazonaws.com/bolingbrook-church/website
9 changes: 9 additions & 0 deletions docker.js
@@ -0,0 +1,9 @@
let EZDocker = require('ezdocker').default;
let { 'version': version } = require('./package.json');

EZDocker.createFromArgs()
.repository('971947037958.dkr.ecr.us-east-1.amazonaws.com/bolingbrook-church/website')
.buildImage()
.with.tag(version)
.and.path('docker')
.and.path('dist', 'dist');
28 changes: 28 additions & 0 deletions docker/Dockerfile
@@ -0,0 +1,28 @@
FROM ubuntu:16.04

# Used to generate unique hash so apt-get runs again...
RUN echo "Bolingbrook Church"

# Update and Install Dependencies
RUN apt-get update
RUN apt-get -y dist-upgrade
RUN apt-get -y install curl

# Install NPM
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
RUN apt-get -y install nodejs

# Install ForeverJS
RUN npm install -g forever

# Create User and use it
RUN useradd -ms /bin/bash faith
USER faith

# Add Files
ADD dist /opt/bolingbrook-church/dist
WORKDIR /opt/bolingbrook-church

# Expose Port 4000 and Create Start Script
EXPOSE 4000
ENTRYPOINT forever dist/server.js
1 change: 0 additions & 1 deletion e2e/app.e2e-spec.ts
Expand Up @@ -9,6 +9,5 @@ describe('bolingbrook-church App', function() {

it('should display message saying app works', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('app works!');
});
});

0 comments on commit 95c665a

Please sign in to comment.