1
1
version : 2
2
2
jobs :
3
3
build :
4
- machine :
5
- enabled : true
6
- image : ../Dockerfile
7
- working_directory : ~/php-apache-docker
4
+ working_directory : /app
5
+ docker :
6
+ - image : docker:17.05.0-ce-git
8
7
steps :
9
8
- checkout
10
- - run : docker build -t php-app:latest .
11
- deploy :
12
- machine :
13
- enabled : true
14
- image : ../Dockerfile
15
- working_directory : ~/php-apache-docker
16
- steps :
17
9
- setup_remote_docker
18
- - run : docker run -it -p 8080:80 php-app:latest
19
- workflows :
20
- version : 2
21
- build-and-deploy :
22
- jobs :
23
- - build
10
+ - run :
11
+ name : Install dependencies
12
+ command : |
13
+ apk add --no-cache \
14
+ py-pip=9.0.0-r1
15
+ pip install \
16
+ docker-compose==1.12.0
17
+ - restore_cache :
18
+ keys :
19
+ - master
20
+ paths :
21
+ - /caches/app.tar
22
+ - run :
23
+ name : Load Docker image layer cache
24
+ command : |
25
+ set +o pipefail
26
+ docker load -i /caches/app.tar | true
27
+ - run :
28
+ name : Build application Docker image
29
+ command : |
30
+ docker build --cache-from=app -t app .
31
+ - run :
32
+ name : Save Docker image layer cache
33
+ command : |
34
+ mkdir -p /caches
35
+ docker save -o /caches/app.tar app
36
+ - save_cache :
37
+ key : master
38
+ paths :
39
+ - /caches/app.tar
40
+ - run :
41
+ name : Run tests
42
+ command : |
43
+ docker run -itd -p 8080:80 app
44
+ curl -IL localhost:8080
24
45
- deploy :
25
- requires :
26
- - build
46
+ name : Push application Docker image
47
+ command : |
48
+ docker login --username ${username} --password ${password}
49
+ docker tag app php-app-docker:latest
50
+ docker push php-app-docker:latest
0 commit comments