Skip to content

Commit ae56493

Browse files
authored
Merge pull request CircleCI-Public#5 from levlaz/wf
Wf
2 parents 17b15b5 + fbc7eab commit ae56493

File tree

8 files changed

+13904
-35
lines changed

8 files changed

+13904
-35
lines changed

.circleci/config.yml

+78-11
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,102 @@
1+
defaults: &defaults
2+
working_directory: ~/mern-starter
3+
docker:
4+
- image: node:8.3
5+
- image: mongo:3.4.7
6+
17
version: 2
28
jobs:
39
build:
4-
working_directory: ~/mern-starter
5-
docker:
6-
- image: circleci/node:4.8.2
7-
- image: mongo:3.4.4
10+
<<: *defaults
811
steps:
912
- checkout
10-
- run:
11-
name: update-npm
12-
command: 'sudo npm install -g npm@latest'
1313
- restore_cache:
1414
key: dependency-cache-{{ checksum "package.json" }}
1515
- run:
16-
name: install-npm-wee
16+
name: install dependencies
1717
command: npm install
1818
- save_cache:
1919
key: dependency-cache-{{ checksum "package.json" }}
2020
paths:
2121
- ./node_modules
22+
- run:
23+
name: make test results folder
24+
command: mkdir test_results
25+
- persist_to_workspace:
26+
root: /root
27+
paths:
28+
- mern-starter
29+
30+
test:
31+
<<: *defaults
32+
steps:
33+
- attach_workspace:
34+
at: /root
35+
36+
- run:
37+
command: |
38+
ls -al
39+
ls -al /root/mern-starter
2240
- run:
2341
name: test
2442
command: npm test
2543
- run:
2644
name: code-coverage
2745
command: './node_modules/.bin/nyc report --reporter=text-lcov'
2846
- store_artifacts:
29-
path: test-results.xml
30-
prefix: tests
47+
path: test_results
3148
- store_artifacts:
3249
path: coverage
3350
prefix: coverage
3451
- store_test_results:
35-
path: test-results.xml
52+
path: test_results
53+
54+
create_docker:
55+
<<: *defaults
56+
steps:
57+
- attach_workspace:
58+
at: /root
59+
- setup_remote_docker
60+
- run:
61+
name: Build and Push Docker Image
62+
command: |
63+
docker build -t levlaz/circleci-demo-js-express .
64+
docker tag levlaz/circleci-demo-js-express:$CIRCLE_SHA1 levlaz/circleci-demo-js-express:stable
65+
docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
66+
docker push levlaz/circleci-demo-js-express
67+
68+
deploy:
69+
<<: *defaults
70+
steps:
71+
- attach_workspace:
72+
at: /root
73+
- run:
74+
name: deploy to AWS
75+
command: |
76+
./script/deploy.sh
77+
78+
79+
80+
workflows:
81+
version: 2
82+
83+
btd:
84+
jobs:
85+
- build
86+
- test:
87+
requires:
88+
- build
89+
- create_docker:
90+
requires:
91+
- test
92+
filters:
93+
branches:
94+
only:
95+
- prod
96+
- deploy:
97+
requires:
98+
- create_docker
99+
filters:
100+
branches:
101+
only:
102+
- prod

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ public/*
88
dist
99
coverage/
1010
.nyc_output/
11+
*.swp
12+
test-results.xml

Dockerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
FROM node
2-
MAINTAINER jaga santagostino <[email protected]>
1+
FROM node:8.3.0
32

43
RUN mkdir -p /usr/src/app
54
WORKDIR /usr/src/app
@@ -9,7 +8,8 @@ RUN npm install
98
COPY . /usr/src/app
109

1110
ENV NODE_ENV production
11+
RUN npm run clean && npm run build && npm run build:server
1212

1313
EXPOSE 8000
14-
CMD ["npm", "run", "bs"]
14+
CMD ["npm", "run", "start:prod"]
1515

docker-compose.yml

+14-15
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
web:
2-
build: .
3-
links:
4-
- db
5-
ports:
6-
- "80:8000"
7-
volumes:
8-
- .:/usr/src/app/
9-
environment:
10-
NODE_ENV: production
11-
MONGO_URL: mongodb://db:27017/mern-starter
12-
db:
13-
image: mongo:latest
14-
ports:
15-
- "27017:27017"
1+
version: '2'
2+
3+
services:
4+
app:
5+
image: levlaz/circleci-demo-js-express:stable
6+
ports:
7+
- "80:8000"
8+
environment:
9+
NODE_ENV: production
10+
MONGO_URL: mongodb://db:27017/mern-starter
11+
db:
12+
image: mongo:3.2.11
13+
ports:
14+
- "27017:27017"
1615

fake-results.xml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<testsuite errors="0" failures="0" name="test_api.APITestCase-20170713141358" skipped="0" tests="9" time="1.926">
3+
<testcase classname="test_api.APITestCase" name="test_404" time="0.202"/>
4+
<testcase classname="test_api.APITestCase" name="test_anonymous" time="0.190"/>
5+
<testcase classname="test_api.APITestCase" name="test_bad_auth" time="0.217"/>
6+
<testcase classname="test_api.APITestCase" name="test_comments" time="0.236"/>
7+
<testcase classname="test_api.APITestCase" name="test_no_auth" time="0.181"/>
8+
<testcase classname="test_api.APITestCase" name="test_posts" time="0.253"/>
9+
<testcase classname="test_api.APITestCase" name="test_token_auth" time="0.198"/>
10+
<testcase classname="test_api.APITestCase" name="test_unconfirmed_account" time="0.241"/>
11+
<testcase classname="test_api.APITestCase" name="test_users" time="0.209"/>
12+
<system-out>
13+
<![CDATA[]]> </system-out>
14+
<system-err>
15+
<![CDATA[]]> </system-err>
16+
</testsuite>

0 commit comments

Comments
 (0)