スカイブロガーウォーターフォール支配下でCIを導入する5つのコツツイートシェアはてブ送るPocketこの記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。ウォーターフォールの開発業務と社内ルールをCI導入のための準備を整えていくのは難しいかもしれませんが、いくつかのコツを押さえれば無理なく行うことが出来ました。1.最初だけ家で勉強して検証するCIをする上では、例えばJavaのプロジェクトであればJenkinsの他にJUnit4、selenium2、Maven、DBUnit、Mockito、PowerMock等の知識と動作検証が必要になってきます。業務が大変で業務中に学習や検証が難しかったので一旦は家で学習、検証しました。後でCIによる効率化で時間が返ってきますからじきに業務を行いながらCIを進めていくことができるようになりました。2.まずデプロイから自動化する開発工程においてテスト環境へのデプロイ作業はテスト以上に繰り返し行われることが多いでしょう。テストより先にまずデプロイだけでも自動化してしまえばこの後のテスト作成時間を稼ぎやすくなりますのでデプロイ作業を真っ先にJenkinsに実装しました。環境によって設定ファイルを置き換えていたりするとき手作業だと設定ファイルを間違って違う設定ファイルで上書きしてしまったりしてテスト開始までに余計な時間がかかるといったようなことがありましたが自動化することで回避できました。3.最初から完全なテストをコーディングしようとしない例えばDAOのテストはテストデータを定義してデータベースにテストデータを投入しなければ常に同じ結果は返ってきませんが、そんなテストでもないよりマシだったりします。普段コーディングしながら動作確認するときも正式なテストとして実施するとき以外はデータベースのレコードにしっかりしたテストデータを投入することはあまりしないと思います。ウォーターフォールのルールのもとでは必ず人力によるテストはすることになりますから、それよりも普段何度も行うちょっとした動作確認を自動化するように考えてテストをコーディングしていきました。これでまた時間が稼げます。4.webアプリケーションの場合seleniumでUIテストプロジェクトを別に作成するこちらも、まずDBの更新が伴う部分は無視して、リンクや表示の確認だけ作ってしまうのが良かったです。自動化による恩恵が受けやすいです。サーバーサイドのコードが新規でなく、テストし辛いスパゲティコードや大きなメソッドばかりの場合、サーバーサイドのコードの単体テストよりもUIのテストから作っていった方が開発効率が上げやすいこともあります。開発中の処理実行待ち時間などにちらちらと見ることで画面の異常を素早く検知できました。5.自分の周りの人の作業をJenkinsで手伝うこの時点で既に周りの人よりもかなり作業効率が上がっていました。自分の作業に余裕が出てきたら周りの人の作業をJenkinsを使って手伝いました。周りの人を手伝うためのJenkinsのプロジェクトを作ったら自分の端末のJenkinsを周りの人の端末からでもアクセスできるようにして自分以外の人からも実行できるようにしました。していくことでCIの便利さを徐々に組織に浸透させていくことができました。スカイアーチネットワークス株式会社AWS・クラウド導入における構築から監視・運用保守までをマネージドサービスで提供する、スカイアーチネットワークスの公式サイト。AWS・クラウドを始め、豊富なサーバー管理の経験と安心のセキュリティ対策、専門エンジニアの確かな知識で、お客様のビジネスの成長をサポートします。AWS・クラウド導入における構築から監視・運用保守までをマネージドサービスで提供する、スカイアーチネットワークスの公式サイト。AWS・クラウドを始め、豊富なサーバー管理の経験と安心のセキュリティ対策、専門エンジニアの確かな知識で、お客様のビジネスの成長をサポートします。(継続的インテグレーション)DevOpsシステム開発CIテスト自動化この記事が気に入ったらいいねしよう!最新記事をお届けします。コメントをキャンセルメールアドレスが公開されることはありません。Sysops試験合格しました!CIの導入を会社に通す最も簡単な方法RECOMMENDこちらの記事も人気です。