@@ -3,31 +3,31 @@ layout: classic-docs
3
3
title : " はじめに"
4
4
short-title : " はじめに"
5
5
description : " CircleCI で成功 (グリーン) ビルドを行うためのチュートリアル"
6
- categories :
7
- - getting-started
6
+ categories : [getting-started]
8
7
order : 41
9
8
---
9
+
10
10
このドキュメントでは、CircleCI 2.0 で成功 (グリーン) ビルドを行うための詳しい手順を説明します。
11
11
12
12
* 目次
13
13
{: toc }
14
14
15
15
## ビルドにあたっての前提条件
16
+ {:.no_toc}
16
17
17
- * Git に関する基礎的な知識があり、 GitHub のアカウントを所有している、もしくはアカウントを作成する権限があること。ここでは GitHub の新しいリポジトリを使用した手順を説明しますが、実際には Bitbucket も利用できます 。
18
+ * Git および既存の GitHub.com アカウント、またはアカウントの作成についての基本的な知識。 この手順では新しい GitHub リポジトリを使用しますが、CircleCI では Bitbucket の使用もサポートしています 。
18
19
* ターミナルや ` bash ` についての基本的な知識。またコマンドラインの使用経験があれば役に立ちます。
19
20
20
21
## リポジトリの作成
21
-
22
22
1 . GitHub.com で自分のアカウントに移動します。
23
-
24
- * ** [ Repositories] ** タブに移動し、 ** [ New] ** を選択するか、< https://github.com/new > に直接移動します。 ![ ] ({{ site.baseurl }}/assets/img/docs/GH_Repo-New-Banner.png)
23
+ * ** [ Repositories] ** タブに移動し ** [ New] ** を選択するか、< https://github.com/new > に直接移動します。 ![ ] ({{ site.baseurl }}/assets/img/docs/GH_Repo-New-Banner.png)
25
24
26
25
2 . [ Initialize this repository with a README] にチェックを入れて、[ Create repository] ボタンをクリックします。![ ] ({{ site.baseurl }}/assets/img/docs/create-repo-circle-101-initialise-readme.png)
27
26
28
27
## .yml ファイルの追加
29
28
30
- CircleCI は、テスト環境の構築方法や実行するテスト内容の定義に [ YAML] ( https://en.wikipedia.org/wiki/YAML ) ファイルを使います。 CircleCI 2.0 では、` config.yml ` というファイル名で、隠しフォルダである ` .circleci ` ディレクトリ配下に作成しておく必要があります。 macOS、Linux、Windows においては、ピリオドから始まるファイルやフォルダは、デフォルトで隠し属性のある* システム* ファイルとして扱われますので、ご注意ください。
29
+ CircleCI は、テスト環境の構築方法や実行するテスト内容の定義に [ YAML] ( https://en.wikipedia.org/wiki/YAML ) ファイルを使います。
30
+ CircleCI 2.0 では、` config.yml ` というファイル名で、隠しフォルダである ` .circleci ` ディレクトリ配下に作成しておく必要があります。macOS、Linux、Windows においては、ピリオドから始まるファイルやフォルダは、デフォルトで隠し属性のある* システム* ファイルとして扱われますので、ご注意ください。
31
31
32
32
1 . GitHub でファイルやフォルダを作成するには、リポジトリページの ** [ Create new file] ** ボタンをクリックし、` .circleci/config.yml ` と入力します。 空の ` config.yml ` ファイルが ` .circleci ` フォルダ内に作成されます。
33
33
@@ -44,13 +44,13 @@ jobs:
44
44
- run : echo "A first hello"
45
45
` ` `
46
46
47
- 1 . コメントを入力してから、[Commit New File] ボタンをクリックしてファイルをコミットします。
47
+ 3 . コメントを入力してから、[Commit New File] ボタンをクリックしてファイルをコミットします。
48
48
49
49
` - image: circleci/ruby:2.4.1` という部分は、プロジェクトをビルドする際にどの Docker イメージを使うか指定しているものです。 CircleCI は、イメージを使用して「コンテナ」を立ち上げます。コンテナとは、プロジェクトの実行に必要な言語、システムユーティリティ、依存関係、Web ブラウザー、ツールなどがインストールされる仮想コンピューティング環境です。
50
50
51
51
# # CircleCI 上でのビルドの準備
52
52
53
- 1. この手順を実行するには、CircleCI アカウントが必要です。 CircleCI の[ユーザー登録ページ](https://circleci.com /signup)を開き、[GitHub でログイン] をクリックします。 ビルドを実行するには、GitHub アカウントに CircleCI へのアクセスを許可する必要があります。 CircleCI アカウントを既に持っている場合は、[ダッシュボード](https://circleci.com/dashboard)にアクセスします。
53
+ 1. この手順を実行するには、CircleCI アカウントが必要です。 CircleCI の[ユーザー登録ページ](https://circleci.jp /signup)を開き、[GitHub でログイン] をクリックします。 ビルドを実行するには、GitHub アカウントに CircleCI へのアクセスを許可する必要があります。 CircleCI アカウントを既に持っている場合は、[ダッシュボード](https://circleci.com/dashboard)にアクセスします。
54
54
55
55
2. 次に、CricleCI で既に構築され、自分がアクセス可能なプロジェクトを*フォローする*かどうかのオプションが表示されます (これは通常、会社や組織の GitHub アカウントを使用している開発者に表示されます)。 次の画面では、作成したリポジトリを、新しいプロジェクトとして CircleCI に追加できます。
56
56
@@ -60,21 +60,24 @@ jobs:
60
60
61
61
# # CircleCI での初めてのビルド
62
62
63
- ビルドが開始され、自動的に正しく実行されるはずです。実行結果を確認します。CircleCI ダッシュボードに表示される緑色の [SUCCESS] ボタンをクリックすると、実行の次の部分を調べることができます。
63
+ ビルドが開始され、自動的に正しく実行されるはずです。 実行結果を確認します。 CircleCI ダッシュボードに表示される緑色の [SUCCESS] ボタンをクリックすると、実行の次の部分を調べることができます。
64
64
65
- 1. **環境のスピンアップ: ** CircleCI は、`circleci/ruby:2.4.1` Docker イメージを使用して、仮想コンピューティング環境をローンチしました。
65
+ 1. **環境のスピンアップ : ** CircleCI は、`circleci/ruby:2.4.1` Docker イメージを使用して、仮想コンピューティング環境をローンチしました。
66
66
67
- 2. **チェックアウトコード: ** CircleCI は、GitHub リポジトリをチェックアウトし、手順 1 でローンチされた仮想環境に「クローン」しました。
67
+ 2. **チェックアウトコード : ** CircleCI は、GitHub リポジトリをチェックアウトし、手順 1 でローンチされた仮想環境に「クローン」しました。
68
68
69
- 3. **echo: ** これは、`config.yml` に含まれる唯一の他の命令です。CircleCI は 「A first hello」という入力を echo コマンドに渡して実行します。 ([echo](https://linux.die.net/man/1/echo) コマンドは、入力された文字列をそのまま出力します)。
69
+ 3. **echo : ** これは、`config.yml` に含まれる唯一の他の命令です。CircleCI は echo コマンドを実行し、 「A first hello」という入力を与えました ([echo](https://linux.die.net/man/1/echo) コマンドは、入力された文字列をそのまま出力します)。
70
70
71
71
今のところはリポジトリにソースコードが含まれておらず、`config.yml` 内にもテストに関わる設定が含まれていませんが、CircleCI はビルドに「成功」したものとして扱います ([exit コード](https://en.wikipedia.org/wiki/Exit_status)としては 0 を返しているため)。 ほとんどのプロジェクトは、これよりはるかに複雑で、多くの場合は複数の Docker イメージと複数のステップが存在し、多くのテストも含まれます。 `config.yml` ファイルに記述できる全てのステップの詳細については、[CircleCI の設定方法](https://circleci.com/docs/ja/2.0/configuration-reference)を参照してください。
72
72
73
- # # ビルドを意図的に失敗させる
73
+ # ## ビルドを意図的に失敗させる
74
+ {:.no_toc}
74
75
75
76
単純化のため、GitHub エディターで `config.yml` ファイルを編集し、`echo "A first hello"` を `notacommand` に置き換えます。 GitHub エディターの **[Commit change]** ボタンをクリックします。 CircleCI の {% comment %} TODO : Jobs {% endcomment %}Builds ページに戻ると、新しいビルドがトリガーされています。 このビルドは失敗し、赤色の [FAILED] ボタンが表示され、失敗を通知するためのメールが送信されます。
76
77
77
- # # Workflows 機能の使用
78
+
79
+ # ## Workflows 機能の使用
80
+ {:.no_toc}
78
81
79
82
1. Workflows の動作を見るには、`.circleci/config.yml` ファイルを編集します。 ブラウザーのウィンドウでファイルを編集モードにしてから、ファイル内で `build` とそれ以後のテキストを選択し、コピー&ペーストし、そのセクションを複製します。 コードブロックは次のようになります。
80
83
@@ -92,14 +95,16 @@ jobs:
92
95
- image: circleci/ruby:2.4.1
93
96
steps:
94
97
- checkout
95
- - run: echo "A first hello"
98
+ - run: echo "A first hello"
96
99
` ` `
97
100
98
- 1. 次に、2 つのジョブを別々の名前にします。 この例では、`one` と `two` という名前にします。 echo コマンドの部分も別のものに変更します。 {% comment %} TODO : Job {% endcomment %}ビルドの実行に必要な時間をあえて長くするため、システムの `sleep` コマンドを追加します。
101
+ 1. 次に、2 つのジョブを別々の名前に変更します。 この例では、`one` と `two` という名前にします。 echo コマンドの部分も別のものに変更します。 {% comment %} TODO : Job {% endcomment %}ビルドの実行に必要な時間をあえて長くするため、システムの `sleep` コマンドを追加します。
102
+
103
+ 2. `config.yml` ファイルに `workflows` セクションを追加します。 workflows セクションは、ファイルのどこにでも配置できます。 通常は、ファイルの先頭または末尾に配置します。
99
104
100
- 2. `config.yml` に `workflows` セクションを追加します。workflows セクションは、ファイルのどこにでも配置できます。通常は、ファイルの先頭または末尾に配置します。
101
105
102
106
` ` ` yml
107
+ version: 2
103
108
jobs:
104
109
one:
105
110
docker:
@@ -123,13 +128,14 @@ workflows:
123
128
- two
124
129
` ` `
125
130
126
- 1 . これらの変更をリポジトリにコミットしてから、CircleCI のダッシュボードに戻ります。
131
+ 4 . これらの変更をリポジトリにコミットしてから、CircleCI のダッシュボードに戻ります。
127
132
128
- 2 . Workflow のリンクをクリックすると、2 つのジョブが並列実行されていることを確認できます。
133
+ 5 . Workflow のリンクをクリックすると、2 つのジョブが並列実行されていることを確認できます。
129
134
130
- Workflows の詳細については、[「 Workflows の制御」 ](https://circleci.com/docs/ja/2.0/workflows/#overview)ドキュメントを参照してください。
135
+ Workflows の詳細については「[ Workflows の制御](https://circleci.com/docs/ja/2.0/workflows/#overview)」 ドキュメントを参照してください。
131
136
132
- # # Workspaces 機能を使ってみる
137
+ # ## Workspaces 機能を使ってみる
138
+ {:.no_toc}
133
139
134
140
各 Workflow には Workspace が割り当てられています。Workspace は、Workflow の進行につれてダウンストリームのジョブにファイルを転送するために使用されます。 Workspaces を使用して、その実行に固有のダウンストリームのジョブで必要となるデータを渡すことができます。 `config.yml` を次のように書き換えてみてください。
135
141
@@ -149,13 +155,13 @@ jobs:
149
155
root: my_workspace
150
156
# root からの相対パスにする必要があります
151
157
paths:
152
- - echo-output
158
+ - echo-output
153
159
two:
154
160
docker:
155
161
- image: circleci/ruby:2.4.1
156
162
steps:
157
163
- checkout
158
- - run: echo "A more familiar hi"
164
+ - run: echo "A more familiar hi"
159
165
- attach_workspace:
160
166
# 絶対パス、または working_directory からの相対パスにする必要があります
161
167
at: my_workspace
@@ -178,48 +184,55 @@ workflows:
178
184
179
185
Workspaces の詳細については、[こちら](https://circleci.com/docs/ja/2.0/workflows/#using-workspaces-to-share-data-among-jobs)を参照してください。
180
186
181
- # # SSH での{% comment %} TODO: Job {% endcomment %}ビルドへの接続
187
+ # ## SSH での{% comment %} TODO: Job {% endcomment %}ビルドへの接続
188
+ {:.no_toc}
182
189
183
190

184
191
185
192
ターミナルの操作に慣れている場合、SSH enabled オプションで{% comment %} TODO : Job {% endcomment %}ビルドを再実行することで、CircleCI のジョブに SSH で直接接続してビルドのトラブルシューティングを行えます。
186
193
187
- *この場合、GitHub アカウントに SSH キーを追加する必要があることに注意してください。詳細については、<https://help.github.com/articles/connecting-to-github-with-ssh/>* を参照してください。
194
+ *この場合、GitHub アカウントに SSH キーを追加する必要があることに注意してください。詳細については下記のリンクを参照してください。
195
+ <https://help.github.com/articles/connecting-to-github-with-ssh/>*
188
196
189
197

190
198
191
199

192
200
193
- ビルドの SSH の有効化セクションから、`ssh` の接続先をコピーします。ターミナルを開き、`ssh` の接続先を貼り付けます。
201
+ ビルドの SSH の有効化セクションから、`ssh` の接続先をコピーします。 ターミナルを開き、`ssh` の接続先を貼り付けます。
194
202
195
203
以下のコマンドのいくつかを使用すると、Workspaces を使用して作成したファイルの内容を検索し、表示できます。
196
204
197
- pwd # print what directory の略で、現在のディレクトリがファイルシステムのどこなのかを確認できます
198
- ls -al # list の略で、現在のディレクトリに存在するファイルとディレクトリを一覧表示します
199
- cd <directory_name> # ディレクトリを <directory_name> ディレクトリに変更します
200
- cat <file_name> # <file_name> で指定したファイルの内容を表示します
201
-
205
+ ```
206
+ pwd # print what directory の略で、現在のディレクトリがファイルシステムのどこなのかを確認できます
207
+ ls -al # list の略で、現在のディレクトリに存在するファイルとディレクトリを一覧表示します
208
+ cd <directory_name> # ディレクトリを <directory_name> ディレクトリに変更します
209
+ cat <file_name> # <file_name> で指定したファイルの内容を表示します
210
+ ```
202
211
203
212
## 関連情報
213
+ {:.no_toc}
204
214
205
215
Git フックでのコミットごとに CircleCI の `config.yml` をバリデーションする方法については[こちらのブログ](https://circleci.com/blog/circleci-hacks-validate-circleci-config-on-every-commit-with-a-git-hook/)で紹介しています。
206
216
207
- # ## CircleCI
217
+ ### CircleCI に関する資料
218
+ {:.no_toc}
208
219
209
- * CircleCI のブログとフォロー方法
220
+ * CircleCI のブログとフォロー方法
210
221
* <https://circleci.com/blog/>
211
- * 関連するブログ投稿
222
+ * 関連するブログ投稿
212
223
* <https://circleci.com/blog/what-is-continuous-integration/>
213
- * CircleCI の SNS アカウントと GitHub アカウント
224
+ * CircleCI の SNS アカウントと GitHub アカウント
214
225
* <https://github.com/circleci>
215
226
* <https://twitter.com/circlecijapan>
216
227
* <https://www.facebook.com/circleci>
217
228
218
229
### 継続的インテグレーション
230
+ {:.no_toc}
219
231
220
232
* <https://martinfowler.com/articles/continuousIntegration.html>
221
233
* [https://en.wikipedia.org/wiki/Continuous_integration#Best_practices](https://en.wikipedia.org/wiki/Continuous_integration#Best_practices)
222
234
223
235
### YAML
236
+ {:.no_toc}
224
237
225
238
* <https://en.wikipedia.org/wiki/YAML#Advanced_components>
0 commit comments