-
Notifications
You must be signed in to change notification settings - Fork 8
/
project-setup.slide
65 lines (44 loc) · 1.36 KB
/
project-setup.slide
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
What is good project setup
4 May 2018
Rick Mak
Oursky
rickmak@oursky.com
@rickmak
CC81327D
* Setup with no surprise
- Make switching project easy
- Make review easy
- Other can help with less overhead
* Let look at some example
Many of projects
- https://github.com/oursky/heytravelista-server
- https://github.com/oursky/polyupaths/
- https://github.com/oursky/SC-eXellerator
- https://github.com/oursky/biovitality
- https://github.com/oursky/skygear-content-manager
* Shell scripts
NIH (Not Invented Here Syndrome)
- /run.sh or ./run ?
https://github.com/oursky/polyupaths/blob/master/run.sh
https://github.com/oursky/heytravelista-server/blob/master/run
- No auto complete
- Need to read the file every time
- Wrong abstraction
* Makefile
- More standard
- bash completion!!!
https://github.com/oursky/wilson-parking/
https://github.com/oursky/SC-eXellerator/blob/master/Makefile
* Bundling with CI
Script is bundle with travis
https://github.com/oursky/heytravelista-server/blob/master/scripts/deploy.sh
Script is should be independent from travis
https://github.com/oursky/biovitality/blob/master/deploy/deploy.sh
https://github.com/oursky/biovitality/blob/master/.travis.yml
That how Rick can run the script locally
* Principle
- If you can't abstract it, expose it
- Less is better
- Environment is environment
- No surprise
- Script should always locally runnable