「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Jenkins]]

* 目次 [#f55b1c93]
#contents

*概要 [#r3357d42]
自動的に[[GitHub]]などから[[Git]]リポジトリを取得して[[CI]]する[[Jenkins]]サーバを構築する場合の基本的な情報。

*ダウンロードとインストール [#rf2f3218]

**前提環境 [#g24fc7fd]
インストール開始前に以下の環境を準備する。

***Windows OS [#ddc9d015]
Jenkinsの前提 Windows OS

***.NET Framework [#u33cfb5b]
CI対象のversion

-.NET Framework のインストール~
https://msdn.microsoft.com/ja-jp/library/5a4x27ek(v=vs.110).aspx

***Java SDK (JDK) [#tab46246]
Antが原因で JREでは動作しない。

-Java SE - Downloads | Oracle Technology Network | Oracle~
http://www.oracle.com/technetwork/java/javase/downloads/index.htm

***[[Git]]クライアント [#la744c8f]

for [[Git]]プラグイン

-Git - Downloads~
https://git-scm.com/downloads
--'git' コマンド)が通常のパスで動作すること( in /usr/bin or /usr/sbin )
--もし、その他の場合 ( /opt/local/bin/git か /usr/local/bin/git )~
/usr/bin に、シンボリックリンクを作成すること(例: sudo ln -s /opt/local/bin/git /usr/bin/git).

***[[Doxygen]] [#bda542b2]
-[[Doxygen]]: Downloads~
http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc

***Graphviz [#ybd5acb7]
-Graphviz - for [[Doxygen]]プラグイン~
http://www.graphviz.org/

***FxCop [#p4604346]
-FxCop Installer - Home~
https://fxcopinstaller.codeplex.com/

***その他 [#s8d049f2]
以下はプラグインとしてではなくコマンドから実行する。

-[[NUnit]]~
.NETのテスティング・フレームワーク
-OpenCover~
.NETのカバレッジツール
-ReportGenerator~
様々な.NETカバレッジツールが出力するXML出力を可視化する。

**Jenkinsのインストール [#v4fd5e30]
-https://jenkins-ci.org/にアクセスする。
-Native packages [Windows]からダウンロードする。
-[jenkins-バージョン番号.zip]からjenkins.msiを取り出す。
-jenkins.msiをダブルクリックして、デフォルトの設定でインストールする。
-ローカルのWebサーバ上でJenkinsのサイトが実行され、
-ブラウザで[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページが表示される。

**プラグインのインストール [#na92cb2a]
一般的なプラグインは自動アップロードされる。~
オフラインの場合は、手動アップロードする。

***プラグインの追加手順 [#afdfb749]
[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページ上にある
-[Manage Jenkins]([Jenkinsの管理])をクリックする。
-[Manage Plugins]([プラグインの管理])をクリックする。

-オンライン時、一般的なプラグインを追加する場合、
--[Available]([利用可能])タブを選択し、次のセクションでプラグインを選択する。
--[Install without restart]([再起動せずにインストール])ボタンをクリックしプラグインをインストール。

-オフライン時やカスタム・プラグインの場合、
--[Advanced...]([高度な設定...])タブを選択し、プラグインをアップロードする。
--[Available]([利用可能])タブを選択し、次のセクションでプラグインを選択する。
--[Install without restart]([再起動せずにインストール])ボタンをクリックしプラグインをインストール。

***追加するプラグイン [#b32891c2]

-[[MSBuild]] プラグイン
--VisualStudioを使用せずにVisual Studio Project solution fileをビルドする。
--https://updates.jenkins-ci.org/download/plugins/msbuild/

-[[NUnit]] プラグイン
--ビルドしたプログラムに[[NUnit]]でテストコードを実行し、~
出力されたXMLのテスト結果をダッシュボードに表示する。
--https://updates.jenkins-ci.org/download/plugins/nunit/

-FxCop Runner プラグイン
--FxCopを実行し、DLL(アセンブリ)に対して静的コード解析を行う。
--https://updates.jenkins-ci.org/download/plugins/fxcop-runner/

-[[Doxygen]] プラグイン
--[[Doxygen]]を実行し、プログラムのドキュメンテーションを行う。
--https://updates.jenkins-ci.org/download/plugins/doxygen/

-HTML Publisher プラグイン
--各種プラグインが生成したHTMLを[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに表示する。
--各種プラグインが生成したHTMLを~
[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに表示する。
--https://updates.jenkins-ci.org/download/plugins/htmlpublisher/
--対象
---???

-Violations プラグイン
--静的コード解析の結果表示のプラグイン
--https://updates.jenkins-ci.org/download/plugins/violations/
--対象
---FxCop

-Email-ext プラグイン
--email notificationsを送る。
--https://updates.jenkins-ci.org/download/plugins/mailer/

-Credentials プラグイン
--Credentialsを追加して認証+権限付与をできるようにする。
--https://updates.jenkins-ci.org/download/plugins/credentials/

-その他~
以下はプラグインとしてではなくコマンドから実行する。

--[[NUnit]]
---.NETのテスティング・フレームワーク
---http://www.nunit.org/

--OpenCover
---.NETのカバレッジツール
---https://opencover.codeplex.com/

--ReportGenerator
---様々な.NETカバレッジツールが出力するXML出力を可視化する。
---https://reportgenerator.codeplex.com/

*Jenkinsの設定 [#lbfc4f2e]
**プラグインの設定 [#a1108584]
ここでは、

-バイナリのパス
-サーバーのURL

など、プラグインの基本的な設定をする。

詳しい動作は、
-プロジェクト
-ビルドステップ

などで設定する。

プラグインの基本的な設定は、

[Manage Jenkins]([Jenkinsの管理]) セクッションの、~
[Configure System]([システムの設定])ボタンをクリックしプラグインを設定。

***[[Git]]プラグイン [#s8086894]
https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

-[[Git]] セクションで、
-[Name]([名前])フィールドを入力する。
-[Path to executable]に"git.exe"のパスを設定する。

***[[MSBuild]] プラグイン [#wf370ba6]
https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin

-[[[MSBuild]]]セクションで、
-[MsBuildInstallations…]([MSBuild追加])をクリックする。
-[Name]([名前])フィールドを入力する。
-[Path to MSBuild]([MSBuild.exeファイルパス])に"MSBuild.exe"のパスを設定する。

***FxCop プラグイン [#w7d37d4b]
https://wiki.jenkins-ci.org/display/JENKINS/FxCop+Runner+Plugin

-[FxCop]セクションで、
-[FxCopInstallations…]([])ボタンをクリックする。
-[Name]([名前])フィールドを入力する。
-[Path to FxCopCmd.exe]([FxCopCmd.exeファイルパス])に"FxCopCmd.exe"のパスを設定する。

***Graphviz プラグイン [#nf4c8b8c]
-[Dependency Graph Viewer Configuration]セクションで、
-[Enable rendering with graphviz]チェック ボックスをオン。
-[Dot Executable Path]に"Graphvizxx.xx\bin\dot.exe"のパスを設定する。

***Email notification プラグイン [#pb05a3a2]
-[E-mail Notification]([E-mail 通知])セクションで、
-[SMTP server]([SMTPサーバー])に"smtp.gmail.com"など、SMTPサーバのアドレスを設定する。

-[Advanced...]([高度な設定...])ボタンをクリックし下記を設定する。
--[Use SMTP Authentication]([SMTP認証])を選択
--[User Name]([ユーザー名])を入力
--[Password]([パスワード])を入力
--[Use SSL]([SSL])チェックボックスをオン

-"smtp.gmail.com"を指定した場合、~
Googleの設定でメールの送信の許可が必要になる。
---安全性の低いアプリがアカウントにアクセスするのを許可する~
https://support.google.com/accounts/answer/6010255?hl=ja
---Less secure apps - Account settings~
https://www.google.com/settings/security/lesssecureapps

***その他 [#f711225a]
以下はプラグインとしてではなくコマンドから実行する。

-[[NUnit]]
-OpenCover
-ReportGenerator

**その他の設定手順 [#ybd36c63]

***ユーザの作成と管理 [#bc443498]
Jenkins CI  サイトは、アクセス権とセキュリティのレベルを指定してユーザの作成と管理ができる。

-セキュリティの設定

--[Manage Jenkins]([Jenkinsの管理])ページで[Configure Global Security]([グローバルセキュリティの設定])ボタンをクリックしユーザのアクセスレベルと権限を設定する。
---[Enable security]([セキュリティを有効化])チェックボックスをオン、以下は設定例。
---[TCP port for JNLP slave agents]([JNLPスレーブ用TCPポート番号])セクションで[Random]オプションボタンを選択
---[Security Realm]([ユーザー情報])セクションで[Jenkins' own user database]([Jenkinsのユーザーデータベース])オプションボタンを選択
---[Allow users to sign up]([ユーザーにサインアップを許可])をオフにしておく。
---[Authorization]([権限管理])セクションの[logged in users can do anything]([ログイン済みユーザーに許可])オプションボタンを選択
---[Apply]([適用]) と [Save]([保存]) ボタンをクリック

-ユーザの作成

--次に表示されるサインアップ画面でユーザ名、パスワード、メールアドレス、説明を入力し、サインアップ(ログイン)する。

--[Manage Jenkins]([Jenkinsの管理])ページで[Manage Credentials]([認証情報の管理])ボタンをクリックしユーザ作成することもできる。

--[Manage Credentials]([認証情報の管理])ページで[Add Credentials]([認証情報の追加])ボタンをクリックし[Username with password]([ユーザー名とパスワード])を選択する。

--[Username with password]([ユーザー名とパスワード])セクションに下記を設定する。
---[Scope]([スコープ])を選択~
●グローバル : サインアップしたユーザはグローバルが設定されている。~
●システム : ・・・
---[Username]([ユーザー名])を入力
---[Password]([パスワード])を入力
---[Description]([説明])を入力
---[Save]([保存])ボタンをクリック

-ユーザの管理

--[Manage Jenkins]([Jenkinsの管理])ページで[Manage Users]([ユーザーの管理])ボタンをクリックしユーザの作成・削除・修正をする。

--[Users]ページ
---ユーザの設定
---ユーザの削除

*プロジェクトの作成と設定 [#v66fb027]
**プロジェクトの作成 [#i2fa535f]
-[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページで[New Item]([新規ジョブ作成])ボタンをクリックし新しいプロジェクトを作成する。

-[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページで~
[New Item]([新規ジョブ作成])ボタンをクリックし新しいプロジェクトを作成する。

-[New Item]([新規ジョブ作成])ページで下記を設定する。
--[Item name]([ジョブ名])フィールドを入力
--[Freestyle project]([フリースタイル・プロジェクトのビルド])オプションボタンを選択
--[OK]ボタンをクリック

**プロジェクトのプラグイン設定 [#da9a53ff]
プロジェクトのプラグインの設定方法について説明する。

-設定は、[Jenkins project]の[Configuration]ページから行う。

-設定が完了したら、[Apply]([適用]) と [Save]([保存]) ボタンをクリックしすべての設定を保存する。

***[[Git]] プラグインの設定 [#he70bdc6]
https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

[[Git]] プラグインの設定方法について説明する。

-[Source Code Management]([ソースコード管理])の[[[Git]]]セクションで [[Git]]プラグインを設定する。

-[[[Git]]]セクションで以下を設定する。

--Repositoryの設定
---[Repository URL]に 'https://github.com/組織名/リポジトリ名/'.を入力する。
---[Credentials]の[Add]([追加])ボタン をクリックしユーザの資格情報を追加する。
---[[Git]]のブランチ名や参照などの詳細なオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリック
---[Add Repository]ボタン をクリックする、更にリポジトリを追加
---[Delete Repository]ボタン をクリックしリポジトリを削除

--Branchの設定
---[Branch Specifier (blank for 'any')]にリポジトリに存在するブランチ名を入力
---[Add Branch]ボタンをクリックしリポジトリにブランチを追加
---[Delete Branch]ボタンをクリックしリポジトリにブランチを削除


-この設定により、以下のパスにリポジトリがclone & checkoutされる。
 "C:\Program Files (x86)\Jenkins\workspace\

*プロジェクトのビルド設定 [#h3cc79a1]
プロジェクトのビルドの設定方法について説明する。

**ビルド・トリガの設定 [#rdaf5b1b]
ビルド・トリガの設定方法について説明する。

-[Build Triggers]([ビルド・トリガ])セクションで定期的に実行するためのビルド・トリガを設定する。

-設定例 :

--[Build Periodically]([定期的に実行])を選択

--Schedule に「0 0 * * 0」を入力する~
---毎週日曜日の 12.00 AMにビルドが起動される。 
---このスケジュールは、crontabの書式で記述される。
---see : https://ja.wikipedia.org/wiki/Crontab

**ビルド・ステップの設定 [#vdb0be18]
ビルド・ステップの設定方法について説明する。

-[Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])ボタンをクリックし、以下のビルド・ステップを追加可能。

--[Build a Visual Studio project or solution using [[MSBuild]]]([MSBuildの実行])
--[Execute Windows batch command]([Windowsバッチコマンドの実行])
--[Execute Shell]([シェルの実行])
--[[[FxCop]] exec.]([FxCop実行])
--[Generaet documentation using [[Doxygen]]]([[[Doxygen]]でドキュメントを生成する])
--[Invoke Ant]([Antの呼び出し])
--[Invoke top-level Marven target]([Mavenの呼び出し])
--[Set build status to "pending" on [[GitHub]] commit]
--, etc.

***バッチ・コマンド、バッチ・ファイルを設定する場合 [#v76cbac0]
ビルド・ステップにおける[Windows batch command]([Windowsバッチコマンドの実行])の設定方法について説明する。

-[Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し[Execute Windows batch command]([Windowsバッチコマンドの実行])を選択する。
-[Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し~
[Execute Windows batch command]([Windowsバッチコマンドの実行])を選択する。

-[Execute Windows batch command]([Windowsバッチコマンドの実行])セクションで以下を設定する。
--Windowsのバッチ・コマンドをCommandに入力する。

***[[MSBuild]] プラグインの設定 [#w40724aa]
https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin

ビルド・ステップにおける[Build a Visual Studio project or solution using MSBuild]([MSBuildの実行])の設定方法について説明する。

-[Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し、

-[Build a Visual Studio project or solution using MSBuild]([MSBuildの実行])を選択する。

-[Build a Visual Studio project or solution using MSBuild]([MSBuildの実行])のセクションで以下を設定する。
-- [[[MSBuild]] Version]に[[MSBuildのName>#wf370ba6]]を入力する。
--[[[MSBuild]] Buid File]にVisual Studio Project solution fileのパスを入力する。
--詳細なビルドオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリックする。

***FxCop プラグインの設定 [#g091aeeb]
https://wiki.jenkins-ci.org/display/JENKINS/FxCop+Runner+Plugin

ビルド・ステップにおける[[[FxCop]] exec.]([FxCop実行])の設定方法について説明する。

-[Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し

-[[[FxCop]] exec.]([FxCop実行])を選択して FxCop プラグインを設定する。

-[[[FxCop]] exec.]([FxCop実行])セクションで下記を設定する。
--[FxCop Name]を入力する。
--[Assembly Files]に対象となる Assembly Files の path を入力(1行 1 path)する。
--[Output XML]に出力XMLファイルのパスを入力する。

***[[Doxygen]] プラグインの設定 [#j3b212e1]
https://wiki.jenkins-ci.org/display/JENKINS/Doxygen+Plugin

ビルド・ステップにおける[Generaet documentation using [[Doxygen]]]([[[Doxygen]]でドキュメントを生成する])の設定方法について説明する。

-[Build]([ビルド])セクションの[Add build step]([ビルド手順の追加])し

-[Generaet documentation using [[Doxygen]]]([[[Doxygen]]でドキュメントを生成する])を選択して [[Doxygen]] プラグインを設定する。

-[Generaet documentation using [[Doxygen]]]([[[Doxygen]]でドキュメントを生成する])セクションで下記を設定する。
--[Doxygen installation]フィールドに名称を入力する。
--[Doxyfile path]にDoxygenの設定ファイルのパスを入力する。
--詳細なオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリックする。

**ビルド後アクションの設定 [#h5d6baa7]
ビルド後アクションの設定方法について説明する。

-[Post-build Actions]セクションの[Add post-build action]ボタンをクリックし、以下のビルド後アクションを追加可能。
--, etc.

***Publish [[NUnit]] test result reports プラグインの設定 [#wfa4e698]
https://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin

ビルド後アクションにおける[[NUnit]] プラグインの設定方法について説明する。

-[Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
-[Publish [[NUnit]] test result reports]を選択して [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに[[NUnit]]のプラグインによって生成されたHTMLの出力を表示させる。

-[Publish [[NUnit]] test result reports]を選択して~
[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに~
[[NUnit]]のプラグインによって生成されたHTMLの出力を表示させる。

-[Publish [[NUnit]] test result reports]セクションで[Add]ボタンをクリックし下記を設定する。
--[Test report XMLs]に[[NUnit]]のレポートファイルのパスを(workspaceフォルダ以下の相対パスで)入力する。

***Publish HTML reports プラグインの設定 [#k4e672c6]
ビルド後アクションにおけるPublish HTML reports プラグインの設定方法について説明する。

-[Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
-[Publish HTML reports]を選択して [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに[[OpenCover]]などのプラグインによって生成されたXMLの出力を表示させる。

-[Publish HTML reports]を選択して~
[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに~
[[OpenCover]]などのプラグインによって生成されたXMLの出力を表示させる。

-[Publish HTML reports]セクションで[Add]ボタンをクリックし下記を設定する。
--[HTML directory to archive]を(workspaceフォルダ以下の相対パスで)入力
--[Index page[s]]を入力
--[Report title]を入力

***[[Doxygen]] プラグインの設定 [#z7253e56]
https://wiki.jenkins-ci.org/display/JENKINS/Doxygen+Plugin

ビルド後アクションにおける[[Doxygen]] プラグインの設定方法について説明する。

-[Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
-[Publish Doxygen]を選択して [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに[[Doxygen]]の出力を表示させる。

-[Publish Doxygen]を選択して~
[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに[[Doxygen]]の出力を表示させる。

-[Publish Doxygen]セクションで下記を設定する。

--[Doxyfile path]にDoxygenの設定ファイルのパスを入力する。
---workspaceフォルダ以下の相対パスとして入力する。
---また、Doxyfile内のパスもworkspaceフォルダ以下の相対パスとして入力する。

--詳細なオプションを設定するには、[Advanced...]([高度な設定...])ボタンをクリックする。

***Report Violations プラグインの設定 [#k4e672c6]
ビルド後アクションにおけるReport Violations プラグインの設定方法について説明する。

-[Post-build Actions]セクションの[Add post-build action]ボタンをクリックし
-[Report Violations]を選択して [Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに[[FxCop]]などのプラグインによって生成されたXMLの出力を表示させる。

-[Report Violations]を選択して~
[Jenkins Dashboard]([ダッシュボード [Jenkins]])ページに~
[[FxCop]]などのプラグインによって生成されたXMLの出力を表示させる。

-[Report Violations]セクションに下記を設定する。

--[fxcop]のレコードを入力
---☀
---☁
---●
---[XML filename pattern]

--[Faux Project Path]を入力

***E-Mail Notification プラグインの設定 [#k4e672c6]
ビルド後アクションにおけるE-Mail Notification プラグインの設定方法について説明する。

-[Post-build Actions]セクションの[Add post-build action]ボタンをクリックし

-[E-Mail Notification]を選択して電子メールでビルド状態の通知をさせる。

-[E-Mail Notification]セクションに下記を設定する。

--[Recipients]に受信者を入力する。

*ビルドの実行と確認 [#r25544bd]
**ビルドの実行 [#c3d52497]

-[Jenkins project]ページで[Build Now]ボタンをクリックしてプロジェクトをビルドする。

-Build Historyの中でビルド情報を確認するためにビルド番号をクリックする。

-Console Output をクリックしてビルド時の console logを確認する。

**プラグインの結果を確認 [#tbcdc4ed]
ビルドが成功するとJenkinsで構成されたプラグインの出力が[Jenkins project]ページ上に表示される。

***FxCop プラグインの結果を確認 [#l814d345]
FxCop とViolations プラグインにより生成された結果をチェックし確認する。

-[Jenkins project]ページでViolationsをクリックし

-FxCop とViolations プラグインにより生成された結果を表示する。

-[filename]一覧からアイテムをクリックしコード違反の詳細なリポートを表示する。

***[[Doxygen]] プラグインの結果を確認 [#hecb37c7]
[[Doxygen]] プラグインにより生成された結果をチェックし確認する。

-[Jenkins project]ページでDoxyGen HTMLをクリックし

-[[Doxygen]] プラグインにより生成された結果を表示する。

***[[OpenCover]] の結果を確認 [#e707fd2a]
[[OpenCover]] とPublish HTML プラグインにより生成された結果をチェックし確認する。

-[Jenkins project]ページでCoverage Reportをクリックし

-[[OpenCover]] により生成された結果を表示する。

***[[NUnit]] の結果を確認 [#l4d43b57]
[[NUnit]] により生成された結果をチェックし確認する。

-Test Result Trend グラフでNUnit プラグインにより生成された結果する。

-詳細は、[Jenkins project]ページでLatest Test Resultをクリックし、

-[[NUnit]] プラグインにより生成された結果を表示する。

*参考 [#z0002708]

**[[Jenkins構築 - Open 棟梁 Wiki>https://opentouryo.osscons.jp/index.php?Jenkins%E6%A7%8B%E7%AF%89]] [#c118895c]

**プラグイン [#bc2a00a4]

-Backlog(Git)とJenkins(MSBuild)を連携させ、自動ビルドさせる - VB.NETで作る!~
http://mk3008net.hatenablog.com/entry/2015/03/29/124511

-JenkinsによるGit連携の自動化~
http://changesworlds.com/2015/03/git-by-jenkins/

**セキュリティ [#s9355e8c]
-ユーザ作成を含む最低限のセキュリティ設定(Jenkins) - Qiita~
http://qiita.com/n_rooms/items/2e1adefcc26d51b4e866

-Jenkinsでログイン設定してログインできなくなった時の対処 - Qiita~
http://qiita.com/wappy100/items/053fd584cfcd62159082

--Disable security - 日本語 - Jenkins Wiki~
https://wiki.jenkins-ci.org/display/JA/Disable+security

**スケジュール [#e5783c1c]
-crontabの書き方~
http://miya0.dyndns.org/pc/settei/crontab.html

----
Tags: [[:テスト]], [[:デバッグ]], [[.NET開発]], [[:ドキュメンテーション]], [[:CI]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS