-
Notifications
You must be signed in to change notification settings - Fork 4
/
888.txt
309 lines (268 loc) · 7.37 KB
/
888.txt
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
[8] 色々な [[CI]] の [[Webサービス]]が提供されています。
[12] 「[[CI]]」が具体的に何を指すかは若干ふわっとしているところがありますが、
多くのサービスが「構築」、「試験」、「deploy」を想定しています。
(これら3ステップが分かれている場合もあれば、そうでない場合もあります。)
[9] 多くは [[OSS]] 無料、それ以外有料というビジネスモデルになっているようです。
[10] [[Linux]] を提供するところがほとんどですが、それ以外の [[OS]]
に対応しているところもあります。
[11] [[Git]] [[リポジトリー]]が基本となっています。普通は [[GitHub]]
に対応しています。 [[BitBucket]] に対応しているところもいくつかあります。
* CI 諸サービスの比較
[13] 幾つかの [[CI]] サービスの機能の比較です。
試してみた時点での、見つけることができた機能の比較なので、
最新の状況ではないかもしれませんし、できないと書いてあってもがんばればできることもあるでしょう。
[FIG(table col)[
:name:名前
:oss:[[OSS]] 無料
:non-free:非 [[OSS]] 無料
:github: [[GitHub]]
:bb:[[BitBucket]]
:submodule: clone 時の submodule update
:linux: [[Linux]]
:mac: [[Mac OS X]]
:windows: [[Windows]]
:matrix: 複数環境
:docker command:[[docker]] コマンド
:build then deploy:build 結果を deploy
:config in repo: リポジトリー内実行設定
:config on site: Web サイト上で実行設定
:key in repo:リポジトリー内で秘密値指定
:key on site:Web サイト上で秘密値指定
:trigger by push: [[push]] 時に実行
:trigger by api:[[Web API]] から実行
:rebuild: [[Webサイト]]上から実行
:time: 実行時間制限
:webhook:完了後 [[Web Hooks]]
:heroku:Heroku デプロイ
:email: 電子メール通知
:irc: IRC 通知
:security: 安全性
:note: 備考
:name:[[GitHub Actions]]
:oss:○
:non-free:×
:github:○
:linux:○
:mac:○
:name:[DEL[ [[Travis CI]] ]] [[サ終]]
:oss:○
:non-free:×
:github: ○
:bb:×
:linux: ○
:mac: ○
:windows: ×
:matrix: ○
:trigger by push: ○
:build then deploy:○
:config in repo:○
:key in repo: ○
:key on site:×
:rebuild: 再実行のみ
:time: あり
:email: ○
:irc: ○
:submodule: 無限再帰 ([CODE[.travis.yml]] で無効化可能)
:docker command: [[Linux]] のみ
:name: [[Travis CI]] .com
:oss:×
:non-free: ×
:github:○
:name:[DEL[ [[Circle CI]] ]] [[サ終]]
:oss:○
:non-free: ○
:github: ○
:bb:○
:linux: ○
:windows: ×
:mac: 有料
:docker command:○
:trigger by push: ○
:build then deploy:○
:config in repo:○
:key on site:○
:trigger by api:○
:webhook:○
:heroku: ○
:rebuild:○
:email: ○
:irc: ○
:submodule: なし
:note:
[[SSH]] でログインしてデバッグ可能。
:name:[[CircleCI]] 2.0
:oss:○
:non-free:少
:github:○
:bb:○
:note:
[[SSH]] でログインしてデバッグ可能。
:rebuild:失敗後
:name:[[Wercker]]
:oss:○
:non-free:○
:linux: ○
:mac: ×
:windows: ×
:bb:○
:github: ○
:submodule: なし
:build then deploy:×
:config in repo:○
:trigger by push: ○
:heroku: ○
:rebuild: ○
:key on site: ○
:email: ○
:matrix: ×
:docker command: × (v2)
:note:
実行環境 [[Docker image]] 指定可能。
:name:[[Codeship]]
:oss:○
:github: ○
:non-free:△
:bb:○
:linux: ○
:mac: ×
:windows: ×
:trigger by push: ○
:config in repo:×
:key on site:○
:name:[[Shippable]]
:bb:○
:github: ○
:linux: ○
:mac: ×
:windows: ×
:oss:○
:non-free:○
:trigger by push: ○
:config in repo:○
:build then deploy:○
:key on site: ○
:docker command: ○
:submodule: なし
:email: ○
:irc: ○
:name:[[Semaphore]]
:github: ○
:bb:○
:linux: ○
:mac: ×
:windows: ×
:trigger by api:○
:non-free: 回数制限
:trigger by push: ○
:config in repo: ×
:key on site: ○
:security:
なぜか[[素のHTTP]]でもアクセスできる。 [[HSTS]] 未指定。
:time: 1時間?
:name:[[AppVeyor]]
:oss: ○
:github: ○
:bb: ○
:linux: ×
:mac: ×
:windows: ○
:trigger by push: ○
:config in repo:○
:config on site: ○
:key on site: ○
:key in repo: ○
:time: 30分
:matrix: ○
:email: ○
:webhook: ○
:name:[[Docker Hub]] (Automated Build)
:oss:○
:github: ○
:bb:○
:linux: ○
:mac: ×
:windows: ×
:config in repo:○ (Dockerfile)
:trigger by api:○
:trigger by push: ○
:webhook:○
:rebuild: ○
:email: ○
:submodule: なし
:name: [[quay.io]] (Build)
:github: ○
:linux: ○
:config in repo: ○ (Dockerfile)
:trigger by api: ×
:trigger by push: ○
:webhook: ○
:submodule: 無限再帰
:name: [[Snap CI]]
:github: ○
:oss: ○
:submodule: 無限再帰
:linux: ○
:key on site: ○
:config on site: ○
:email: ○
:name: [[Magnum CI]]
:oss: ○
:non-free: ○
:github: ○
:bb: ○
:submodule: 無限再帰
:linux: ○
:rebuild: 再実行のみ
:time: 30分以内
:email: ○
:note: リポジトリー追加は手動 ([[OAuth]] 未対応)
:name: [[Greenhouse CI]]
:oss: 無料枠わずか
:non-free: 無料枠わずか
:github: ○
:submodule: 2段階
:name: [[Bitrise]]
:submodule: 無限再帰
:github: ○
:security: ドキュメントが[[素のHTTP]]
:config on site:○
:rebuild:○
:email:○
:mac:○
:name: [[Buddy]]
:name: [[CodePipeline]]
]FIG]
* 環境変数 [CODE[CI]]
[SEE[ [[CIの環境変数]] ]]
* メモ
[14] [[UI]] は基本どのサービスもひどいので、どれがましかという比較になります。
どこも表面的な見た目にこだわって使いやすさを考えていないので、
よく使う機能が中々見つからなかったり、
実行時間が長いと挙動が不審になったり、
ログのサイズが大きくなると動作が不安定になったりします。
[1] [CITE@en[Continuous Delivery for free | Codeship]]
( ([TIME[2014-11-09 12:51:46 +09:00]] 版))
<https://codeship.com/>
[2] [CITE@en[Continuous Integration · drone.io]]
( ([[Brad Rydzewski, Thomas Burke]] 著, [TIME[2014-11-09 12:57:07 +09:00]] 版))
<https://drone.io/>
[3] [CITE@en[Magnum CI - Hosted Continuous Integration and Continuous Deployment Platform]]
( ([TIME[2014-11-09 13:01:02 +09:00]] 版))
<https://magnum-ci.com/>
[4] [CITE[Shippable - Continuous Delivery, simplified.]]
( ([TIME[2014-11-09 13:14:21 +09:00]] 版))
<https://www.shippable.com/>
[5] [CITE@en[Semaphore: Hosted Continuous Integration & Deployment]]
( ([TIME[2014-11-09 13:19:20 +09:00]] 版))
<https://semaphoreapp.com/>
[6] [CITE[Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community]]
( ([TIME[2014-11-08 23:08:38 +09:00]] 版))
<https://travis-ci.org/>
[7] 全体的に見て [[Circle CI]] がかなり完成度が高い。しかし [[BitBucket]] には対応していないのが難点。 [TIME[2015-06-07T15:01:15.100Z]]
[FIG(amazon)[
継続的インテグレーション
]FIG]
[15] 今選ぶなら [[CircleCI]] 一択かなあ。
[[CircleCI]] も [[UI]] が微妙とか突然非互換変更するとか不満はいろいろあるけど
([[Bitbucket]] にも今は対応しているよ!)、他はもっとひどいので。
[TIME[2018-03-20T07:48:53.600Z]]