Androidはじめまして、SWETの金子(theoden9014)です。Docker」という題で私が発表した内容についてご紹介したいと思います。Nightとは、SWETが主催する主にテストに関係することについて語り合うことを目的とした勉強会です。Nightを2ヶ月ごとに開催しています。これまで合計39件の発表がおこなわれ、多数の方に参加していただき、活発な議論がおこなわれる勉強会になっています。Nightで管理しているイベントです。今回はAndroidについても同様にテストを対象としたイベントの需要があることがわかり、開催する運びとなりました。#1今回はその第1回目です。Mercari」といった、開発プロセス改善についてのセッションや、実際にテストに取り組んでいる事例紹介のセッション。TDD」といった、CI、テストツールやテスト手法についてのセッション。いった、様々な内容のセッションがありました。当日の資料に関してはこちらにアップロードされているので詳細が気になる方はご覧ください。Docker」に話を移したいと思います。あるアプリケーションをCIに載せようとした際、CIでアプリケーションのビルドを可能にする必要があります。CI毎にビルドに関する設定方法や環境構築はまちまちで、複数のCIを利用する際はそれぞれのCIに対してビルド環境やビルドフローをメンテナンスする必要が出てきます。近年のサーバーサイドアプリケーションはビルド環境や動作環境をDockerで統一化を図ることが主流となってきていますが、クライアントサイドアプリケーションではそういったアプローチに関する情報が少ない状態だと思います。そこで今回はクライアントサイドでもDockerによるビルド環境の統一化ができないか検証してみました。imageに分けたいと思います。imageを元にアプリケーションコードをmountしてビルドする手段もあります。imageを作る方向にしました。Dockerのイメージレイヤーは以下の通りです。SDKを利用できるDockerイメージが必要です。(3.4)により、バックアップ目的以外でのコピー及び再配布が禁止とされている点です。imageは自身でビルドする必要があるということです。Dockerfile自体にAndroidSDKのライセンスは含まれません。imageのビルドを行なってください。imageこちらはAndroidアプリケーションと同じディレクトリ内にDockerfileを作成します。/projectでアプリケーションコードをイメージに追加する前にgradleのキャッシュを生成しています。imageキャッシュが利用されるという仕様を利用し、最大限にDockerイメージのキャッシュを生かしています。ADDで追加するアプリケーションコードに変更が加わると、それ以降の処理はDockerイメージのキャッシュが利用されなくなります。buildと実行することで、アプリケーションをビルドすることが可能です。登壇したセッションの資料にはAndroidエミュレータをDockerで起動しテストを行う方法も記載しております。エミュレータでのテストはパフォーマンスがよくないので、デバイスファーム等を利用すると良いと思います。最後に今回はクライアントサイドアプリケーションのDockerizeに関してご紹介しました。機会があればサーバーサイドアプリケーションのDockerizeについてもご紹介できればと思っております。3ヶ月に1回程度開催を予定しておりますので、ご興味がある方は是非お待ちしております。本ブログでは定期的にこういったテストにまつわる情報をアウトプットをしていきますので、是非本ブログをウォッチして頂ければと思います。Buildとは一体何者なのかこんにちは。SWETの加瀬(@Kesin11)です。...2018-05-10SWETの新メンバーから見て驚いたこと、そこから生まれたDIライブラリ不使用宣言はじめまして!4/1よりSWETに加わった@Kuniwakです。2018参加レポートはじめまして。SWETの外山(@sumio_tym)です。testingことはじめ(3)〜アプリケーションのテスト〜こんにちは。パッケージを...2018-01-22Golangでtestingことはじめ(2)〜テストにおける共通処理〜こんにちは。(1)リンクプライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。