OSDN Git Service

Regular updates
[twpd/master.git] / flynn.md
1 ---
2 title: Flynn
3 category: Devops
4 layout: 2017/sheet
5 ---
6
7 ### General workflow
8
9 * Start a flynn cluster (on amazon or vagrant)
10 * `flynn cluster add` to add that cluster
11 * `flynn create NAME` in your app
12 * `git push flynn master` to deploy
13
14 ### Creating a cluster (AWS)
15
16 ```bash
17 flynn install  # (provisions AWS EC2 stuff)
18 flynn key add  # (adds your pubkey to AWS)
19 ```
20
21 #### What it does
22
23 * This creates `XXXX.flynnhub.com`
24 * Dashboard in `dashboard.XXXX.flynnhub.com`
25 * Use `flynn -a dashboard env get LOGIN_TOKEN` to get login token
26 * Apps live in `APP.XXXX.flynnhub.com`
27
28 ### Using a flynn cluster
29
30 Managed in `~/.flynnrc`:
31 {: .-setup}
32
33 ```bash
34 flynn cluster
35 flynn cluster add [-g githost] [-p pin] NAME URL KEY
36 flynn cluster remove NAME
37 flynn cluster default NAME # use this current
38 ```
39
40 ### Setting up a new app
41
42 ```bash
43 cd ~/project
44 flynn create example # adds the `flynn` remote
45 flynn route # prints http routes
46 git push flynn master
47 ```
48
49 ## Commands
50
51 ### Environment vars
52
53 ```bash
54 flynn env
55 flynn env set FOO=bar BAZ=foobar
56 flynn env unset FOO
57 ```
58
59 ### Scale
60
61 ```bash
62 flynn ps
63 flynn scale web=3
64 ```
65
66 ### Logs
67
68 ```bash
69 flynn log
70 flynn log flynn-d55c7a...
71 ```
72
73 ### Running commands
74
75 ```bash
76 flynn run rake db:migrate
77 ```
78
79 ### Manage routes
80
81 ```bash
82 flynn route
83 flynn route add http example.com
84 # then make a CNAME from example.com to myapp.xxxx.flynnhub.com
85 ```
86
87 ### More
88
89 ```bash
90 flynn ps
91 flynn kill <job>
92
93 flynn meta
94 flynn meta set foo=baz
95 ```
96
97 ## Also see
98
99 - [Flynn website](https://flynn.io/) _(flynn.io)_