継続的インテグレーションは、チーム メンバーが作業を頻繁に統合する必要があることを推奨する開発手法であり、統合エラーをできるだけ早く見つけるために、各統合は自動化された構築 (コンパイル、構築、自動テストを含む) によって検証されます。開発中のソフトウェアを動作状態に保つことで、高品質を維持しながら製品を迅速に反復できます。
Jenkins は、Java に基づいて開発された継続的統合ツールであり、オープンソースで無料の公式 Web サイト: https://jenkins.io/
アプリ自動化テストの実行戦略
自動テストは主に回帰テストに使用され、毎日固定する、開発コードが更新された後に定期的に実行するなどの実行戦略を立てることができます。これには Jenkins との統合が必要です。
Jenkins 統合アプリの自動テストの問題点:
アプリの自動化には実機やエミュレータが必要ですが、Jenkinsはサーバー上にデプロイされるのが一般的であり、実機やエミュレータをサーバーに接続することは当然不可能です。
解決:
-
自動テスト専用のローカル コンピューターを申請し、自動テスト環境を展開し、ローカルの実機/シミュレーターに接続します。
-
会社のサーバー (内部サーバーまたは Alibaba Cloud/Tencent Cloud サーバー) に Jenkins をデプロイします。
-
Jenkins マスター/スレーブ モードを使用して、タスクを対応するローカル コンピューターに送信し、ローカル コンピューター上でタスクを実行します。
自動テストを学びたい場合は、ここで一連のビデオをお勧めします。このビデオは、ステーション B のネットワーク全体でナンバー 1 の自動テスト チュートリアルであると言えます。同時に、オンラインのユーザーの数は、 1,000 に達しました。収集して共有するメモがあります。Dashen Technical Exchange: 798478386
なお、ローカル実行コンピュータはJDK+Maven+Android SDK+Gitの環境を構築し、adb経由でデバイスとリンクする必要があります。
Jenkins マスター/スレーブ モード (マスター/スレーブ) は以下を使用します。
ノードノードの追加
Jenkinsの管理 -> ノードとクラウドの管理 -> 新しいノード
Launch メソッドは jenkins のリモート接続ポートを開く必要があることに注意してください。そうしないと、スレーブ マシンは Jenkins サービスに接続できません。この接続では、WebSocket + TLS に基づいてカプセル化された長い接続プロトコルである JNLP4 プロトコルが使用されます。これは、Jenkins のセキュリティ設定パネルでオンにできます。Jenkins ホームページに入り、セキュリティ パネルにアクセスします。
スレーブを接続する
どちらの方法でもスレーブに接続できます
タスク設定で、構築する対応するスレーブ スレーブ マシンを選択します
考えられる問題 1:
D:\jenkins-slave\workspace\jenkins_maven_demo>mvn clean test
JAVA_HOME 環境変数が正しく定義されていません
このプログラムを実行するにはこの環境変数が必要です
注意: JAVA_HOME は JRE ではなく JDK を指す必要があります
エラー: リモート リポジトリ「origin」のクローン作成中にエラーが発生しました
hudson.plugins.git.GitException: D:\jenkins- を初期化できませんでした
スレーブ\ワークスペース\jenkins_maven_demo
解決策: スレーブ ノードでツール パスを構成します。
考えられる問題 2:
mvnが見つかりません
Jenkins スレーブ ノードの環境変数に Maven がありません。解決策: スレーブ マシンの PATH 環境変数をここにコピーします。