SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
JenkinsとDoxygenではじめる
快適ドキュメンテーション
@mazgi
(株)ドリコム 社内勉強会LT資料
1Thursday, April 18, 13
改めて自己紹介
• @mazgi
• ドリコムでスマートフォン関係の開発
➡前職はSIer(エスアイアー)Point!
2Thursday, April 18, 13
Agenda
• ぼくがやってたどきゅめんてーしょん
• 今やってるドキュメンテーション
• Doxygen
• Jenkins
• Jenkins Git Plugin + Gitlab Hooks
3Thursday, April 18, 13
さっそくですが
4Thursday, April 18, 13
ドキュメントって
大事ですよね!
5Thursday, April 18, 13
もしソフトウェア開発の現場
にドキュメントがなかったら
きっとこんなやりとりが日常茶飯事…
• 「この処理なさそうだったので作りました!」
➡その実装3つ目…
• 「この引数って整数ならなんでもいいんですよね!」
➡負数はやめてください…
• 「戻り値0以外は全部失敗ですよね!」
➡あのリターンコード一覧がここに…
6Thursday, April 18, 13
だから書いてました
7Thursday, April 18, 13
SIer時代に書いたCoolなドキュメント(再現)
Point! Coolなクラス名
Point! キチンとソースコード全文貼付け
Point! 承認印大事
Point! メソッド名もCool
8Thursday, April 18, 13
SIer時代に書いたCoolなドキュメント(再現)
Point! 役割の分からないクラス名
Point! コピペ必須なのでリファクタリングしなくなる
Point! 承認必須なので更新しなくなる
Point! メソッド名も何するのか不明
これ…あかんやつや……
9Thursday, April 18, 13
そこで
10Thursday, April 18, 13
Doxygen
11Thursday, April 18, 13
なにができるの?
• コメントからHTMLドキュメント生成
• HTML以外も色々作れる(らしい)よ!
• RDocやJavadoc的なアレ
➡C/C++/ObjCに対応
• 他の言語も色々対応してる(らしい)よ!
Point!
12Thursday, April 18, 13
こんなソースコメントから
ドキュメント作ってくれる!
13Thursday, April 18, 13
難しいんでしょ?
でも、     
14Thursday, April 18, 13
$ doxygen -g
$ doxygen
この2行で結構だいじょぶ!
15Thursday, April 18, 13
Jenkins
16Thursday, April 18, 13
なにができるの?
• CI(継続的インテグレーション)ツール
• 任意のjobを実行してくれる
• ビルド/パッケージング
➡ シェルスクリプト
• 色々なタイミングで実行してくれる
• svn commit/git pushされたとき
➡ HTTPリクエスト来たときに
➡ Pluginたくさん
Point!
Point!
Point!
17Thursday, April 18, 13
Jenkins Git Plugin
+
Gitlab Hooks
18Thursday, April 18, 13
ではサクっと構築
19Thursday, April 18, 13
Pluginインストール
Doxygen Plugin
Git Plugin
20Thursday, April 18, 13
jobを作る
シェルスクリプトでDoxygen実行
出力先を設定ファイルから取得
21Thursday, April 18, 13
HTTPリクエストを送ると、
jobが実行される
22Thursday, April 18, 13
GitLabにHook登録
23Thursday, April 18, 13
Doxygenドキュメントの永続リンクあり
これ…気持ちいいやつや!
24Thursday, April 18, 13
Have a Comfortable Day!
with entertainment
25Thursday, April 18, 13

Contenu connexe

Tendances

Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・
DQNEO
 
テーマ別Git tips
テーマ別Git tipsテーマ別Git tips
テーマ別Git tips
Ikuo Degawa
 
オープンセミナー香川2012 LT
オープンセミナー香川2012 LTオープンセミナー香川2012 LT
オープンセミナー香川2012 LT
Kouta Imanaka
 

Tendances (20)

LT動画を作ってみたLT(動画)
LT動画を作ってみたLT(動画)LT動画を作ってみたLT(動画)
LT動画を作ってみたLT(動画)
 
S01 t2 akutsu_my_pythonhistory
S01 t2 akutsu_my_pythonhistoryS01 t2 akutsu_my_pythonhistory
S01 t2 akutsu_my_pythonhistory
 
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMAgithubでHP作ってみよ 2019/02/16 by CODE for IKOMA
githubでHP作ってみよ 2019/02/16 by CODE for IKOMA
 
Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・Gitの内部構造を 調べてみたら・・・
Gitの内部構造を 調べてみたら・・・
 
S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01
 
Twillio deadshot made me happy
Twillio deadshot made me happyTwillio deadshot made me happy
Twillio deadshot made me happy
 
S08 t6 wrapup
S08 t6 wrapupS08 t6 wrapup
S08 t6 wrapup
 
Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?
 
2015/07/11 第7回G-Study発表資料-ITエンジニアのためのDTM入門
2015/07/11 第7回G-Study発表資料-ITエンジニアのためのDTM入門2015/07/11 第7回G-Study発表資料-ITエンジニアのためのDTM入門
2015/07/11 第7回G-Study発表資料-ITエンジニアのためのDTM入門
 
テーマ別Git tips
テーマ別Git tipsテーマ別Git tips
テーマ別Git tips
 
2018年度オフシーズンにやったこと
2018年度オフシーズンにやったこと2018年度オフシーズンにやったこと
2018年度オフシーズンにやったこと
 
S09 t4 wrapup
S09 t4 wrapupS09 t4 wrapup
S09 t4 wrapup
 
押してダメなら引いてみろ! ggplot2逆引きプロジェクト
押してダメなら引いてみろ! ggplot2逆引きプロジェクト押してダメなら引いてみろ! ggplot2逆引きプロジェクト
押してダメなら引いてみろ! ggplot2逆引きプロジェクト
 
Raspberry PiとGoogle Meetでお手軽ペットカメラ
Raspberry PiとGoogle Meetでお手軽ペットカメラRaspberry PiとGoogle Meetでお手軽ペットカメラ
Raspberry PiとGoogle Meetでお手軽ペットカメラ
 
オープンセミナー香川2012 LT
オープンセミナー香川2012 LTオープンセミナー香川2012 LT
オープンセミナー香川2012 LT
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
 
RFinanceJはじめました
RFinanceJはじめましたRFinanceJはじめました
RFinanceJはじめました
 
GitとGitHubによる chordのバージョン管理 for バンドマン
GitとGitHubによる chordのバージョン管理 for バンドマンGitとGitHubによる chordのバージョン管理 for バンドマン
GitとGitHubによる chordのバージョン管理 for バンドマン
 
Github pagesでRPubsにサヨナラ!
Github pagesでRPubsにサヨナラ!Github pagesでRPubsにサヨナラ!
Github pagesでRPubsにサヨナラ!
 
新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55
 

En vedette

ドキュメント生成ツールのお話
ドキュメント生成ツールのお話ドキュメント生成ツールのお話
ドキュメント生成ツールのお話
Shota Homma
 
Bitbucketの登録+チームの登録+リポジトリの作成+初push
Bitbucketの登録+チームの登録+リポジトリの作成+初pushBitbucketの登録+チームの登録+リポジトリの作成+初push
Bitbucketの登録+チームの登録+リポジトリの作成+初push
sirojiba
 
プロトタイピングとユーザーテスト
プロトタイピングとユーザーテストプロトタイピングとユーザーテスト
プロトタイピングとユーザーテスト
Masanori Kado
 
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携するJenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携する
regret raym
 

En vedette (12)

Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
 
#Fluentd ドキュメント日本語化のその後
#Fluentd ドキュメント日本語化のその後#Fluentd ドキュメント日本語化のその後
#Fluentd ドキュメント日本語化のその後
 
ドキュメント生成ツールのお話
ドキュメント生成ツールのお話ドキュメント生成ツールのお話
ドキュメント生成ツールのお話
 
ITProEXPOスライド20161014
ITProEXPOスライド20161014ITProEXPOスライド20161014
ITProEXPOスライド20161014
 
Bitbucketの登録+チームの登録+リポジトリの作成+初push
Bitbucketの登録+チームの登録+リポジトリの作成+初pushBitbucketの登録+チームの登録+リポジトリの作成+初push
Bitbucketの登録+チームの登録+リポジトリの作成+初push
 
自動デプロイ
自動デプロイ自動デプロイ
自動デプロイ
 
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
 
プロトタイピングとユーザーテスト
プロトタイピングとユーザーテストプロトタイピングとユーザーテスト
プロトタイピングとユーザーテスト
 
GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例
 
Bitbucket Pipelinesについて
Bitbucket PipelinesについてBitbucket Pipelinesについて
Bitbucket Pipelinesについて
 
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiAワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
 
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携するJenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携する
 

Beginning comfortable documentation with jenkins and doxygen ( public )