Skip to content

Commit 8d14a48

Browse files
committed
Enable prod deployment to Beanstalk
* separate compose file for development and production
1 parent b5d1860 commit 8d14a48

File tree

3 files changed

+85
-34
lines changed

3 files changed

+85
-34
lines changed

.travis.yml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
sudo: required
2+
language: generic
23
services:
34
- docker
45

@@ -10,17 +11,14 @@ script:
1011
# Run tests for client
1112
- docker run -e CI=true $DOCKER_ID/complex-client:test npm test
1213

13-
after_success:
14-
# Build production version of images
15-
- docker build -t $DOCKER_ID/complex-client ./client
16-
- docker build -t $DOCKER_ID/complex-nginx ./nginx
17-
- docker build -t $DOCKER_ID/complex-server ./server
18-
- docker build -t $DOCKER_ID/complex-worker ./worker
19-
20-
# Login to the Docker CLI
21-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_ID" --password-stdin
22-
# Push production version of images to Docker Hub
23-
- docker push $DOCKER_ID/complex-client
24-
- docker push $DOCKER_ID/complex-nginx
25-
- docker push $DOCKER_ID/complex-server
26-
- docker push $DOCKER_ID/complex-worker
14+
deploy:
15+
provider: elasticbeanstalk
16+
region: ap-south-1
17+
app: "docker-complex"
18+
env: "Dockercomplex-env"
19+
bucket_name: "elasticbeanstalk-ap-south-1-887635673391"
20+
bucket_path: "docker-complex"
21+
on:
22+
branch: master
23+
access_key_id: $AWS_ACCESS_KEY
24+
secret_access_key: $AWS_SECRET_KEY

docker-compose-dev.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
version: '3'
2+
3+
services:
4+
postgres:
5+
image: 'postgres:latest'
6+
environment:
7+
- POSTGRES_PASSWORD=postgres_password
8+
9+
redis:
10+
image: 'redis:latest'
11+
12+
api:
13+
build:
14+
context: ./server
15+
dockerfile: Dockerfile.dev
16+
environment:
17+
- REDIS_HOST=redis
18+
- REDIS_PORT=6379
19+
- PGUSER=postgres
20+
- PGHOST=postgres
21+
- PGDATABASE=postgres
22+
- PGPASSWORD=postgres_password
23+
- PGPORT=5432
24+
volumes:
25+
- /app/node_modules
26+
- ./server:/app
27+
depends_on:
28+
- redis
29+
- postgres
30+
31+
client:
32+
stdin_open: true
33+
build:
34+
dockerfile: Dockerfile.dev
35+
context: ./client
36+
volumes:
37+
- /home/node/app/node_modules
38+
- ./client:/home/node/app
39+
40+
worker:
41+
build:
42+
dockerfile: Dockerfile.dev
43+
context: ./worker
44+
volumes:
45+
- /app/node_modules
46+
- ./worker:/app
47+
environment:
48+
- REDIS_HOST=redis
49+
- REDIS_PORT=6379
50+
depends_on:
51+
- redis
52+
53+
nginx:
54+
restart: always
55+
build:
56+
context: ./nginx
57+
dockerfile: Dockerfile.dev
58+
ports:
59+
- '3050:80'
60+
depends_on:
61+
- api
62+
- client

docker-compose.yml

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ services:
1010
image: 'redis:latest'
1111

1212
api:
13-
build:
14-
context: ./server
15-
dockerfile: Dockerfile.dev
13+
image: sntshk/complex-server
14+
mem_limit: 128m
15+
hostname: api
1616
environment:
1717
- REDIS_HOST=redis
1818
- REDIS_PORT=6379
@@ -29,34 +29,25 @@ services:
2929
- postgres
3030

3131
client:
32-
stdin_open: true
33-
build:
34-
dockerfile: Dockerfile.dev
35-
context: ./client
36-
volumes:
37-
- /home/node/app/node_modules
38-
- ./client:/home/node/app
32+
image: sntshk/complex-client
33+
mem_limit: 128m
34+
hostname: client
3935

4036
worker:
41-
build:
42-
dockerfile: Dockerfile.dev
43-
context: ./worker
44-
volumes:
45-
- /app/node_modules
46-
- ./worker:/app
37+
image: sntshk/complex-worker
38+
mem_limit: 128m
39+
hostname: worker
4740
environment:
4841
- REDIS_HOST=redis
4942
- REDIS_PORT=6379
5043
depends_on:
5144
- redis
5245

5346
nginx:
47+
image: sntshk/complex-nginx
5448
restart: always
55-
build:
56-
context: ./nginx
57-
dockerfile: Dockerfile.dev
5849
ports:
59-
- '3050:80'
50+
- '80:80'
6051
depends_on:
6152
- api
6253
- client

0 commit comments

Comments
 (0)