JenkinsとBonobo Git ServerをWindowsにインストールしてAndroidアプリケーションを構築します

こんにちは Linuxを掘り下げる時間がないため、ネットワークを検索してAndroid向けのJenkins連続ビルドサーバー、Gitサーバー、およびそれらの統合のWindows OSのインストールおよび構成手順を検索する際に、情報のギャップに直面して、私が得たものに関する情報を共有することにしました。



分布





最後の準備



JDK、Windows用Git、およびAndroid SDKツールは、デフォルト設定で最初からインストールできます。



Bonobo gitサーバー



シンプルで簡単なgitサーバー自体には、IISおよびMS SQL Server Express 2008を含むASP.MVCのインストールが必要です



IISサーバー


ここで異常なことは何もありません。Webサーバー(IIS)の役割を追加します。



IIS
画像



次のフォームの主なことは、ASP.NET 4.5をFeatureに追加することを忘れないことです。



特徴
画像



ASP.NET MVC4


配布を実行します。



ASP.NET MVC4インストール
画像



途中で、MS SQL Server 2008 Expressがインストールされ、米国saのパスワードが求められます。 必要がなければ、もう必要ないことを願っています:



MS SQL Serverのインストール
画像



MVCのインストール後、サーバーの役割(機能ではなく以前)の新しい設定を行い、ASP.NET4.5のサポートをWebサーバーに追加する必要があります。 ASP.NET MVC 4をインストールする前は、このサブセクション(アプリケーション開発)はIISコンポーネントにありませんでした!



サーバーの役割-IIS-Webサーバー-アプリケーション開発-ASP.NET 4.5
画像






Bonobo gitサーバー


これで、gitサーバーの直接展開に進むことができます。 配布パッケージのコンテンツをIISサーバーのwwwrootに解凍し、IIS_IUSERS KMの権限を付与してApp_Dataディレクトリを変更します。



IIS wwwrootおよびApp_Dataディレクトリに対するIZ_IUSERS KM権限
画像



IISマネージャーを起動し、BonoboGitServerアプリケーションに変換します。



IISマネージャーのアプリケーションへの変換
画像



IISマネージャーのアクションですべてが正常に実行された場合は、[参照]をクリックします。*:80(http)を取得し、(名前とポートを変更しなかった場合)localhost / BonoboGitServerに取得します。



Bonobo Gitサーバーのログインページ
画像



最初のログインadmin / adminのログインとパスワード。 サーバーには多くの設定がありません(いずれにせよ、Webインターフェイス経由)。たとえば、インターフェイス言語を変更できます。



ボノボ言語
画像



開発者やジェンキンスなどの新しいユーザーを作成します。 1つ目は独自に作業し、2つ目は将来のアセンブリサーバーに必要です。



新しいBonobo Gitサーバーユーザー
画像



新しいリポジトリを作成し、開発者とアセンブラに権利を付与します(画面にはjenkins KMはありませんが、すべてを順番に行うとそこにあるはずです...)



新しいリポジトリ
画像



求められている.gitアドレスを持つリポジトリページの例。 なぜなら localhostが表示されているアドレスの同じマシンのブラウザからサーバーにアクセスしましたが、通常のDNSサーバー名またはIPを持っている可能性があります。



リポジトリアドレス
画像



Android Studioでプロジェクトを作成して、リポジトリのアドレスをリモートブランチとして指定できます。 このローカル部分はすべてスキップします。



利用可能なリモートリポジトリ
画像



ジェンキンス



Jenkinsはmsiからインストールされ、実際には何も聞かれません。インストールの最後に、ファイルからinitialAdminPasswordをコピーしてパスワードを貼り付ける必要があるアドレスのページが自動的に開きます。



ジェンキンのロックを解除
画像



将来、パスワードUZ adminも変更できます。



必要なプラグインをインストールし、サーバーを構成します。 Jenkinsの管理-プラグインの管理-利用可能に注意してください:





Jenkinsプラグイン
画像



Jenkinsを再起動した後、Jenkinsの管理-システムの構成セクションに移動し、2つの場所でAndroid SDKへのパスを設定します。



環境変数のANDROID_HOME
画像



そして、Android SDKルートの同じページの一番下で:



Android SDKルート
画像



このパラメーターがAndroid Emulator Pluginに問題があると思われない場合は、インストールされていない可能性があります。



次に、Jenkinsの管理-グローバルツール構成の構成ページに移動して、コンポーネントのパスを確認し、必要に応じて指定します。



グローバルツールの構成
JDKでは、すべてが簡単です。



画像

Gitは変更できません。パス変数にgit実行可能ファイルへのパスが含まれていて、コマンドラインで使用できる場合、Jenkinsはそれを使用できます。



画像



そして、Gradleに自動的にダウンロードさせます。 原則として、JDKでも同じトリックを実行できますが、Android SDKをインストールする際には、システムに登録されたJDKが必要であり、JenkinsがJDKをダウンロードする場所を詳しく調べませんでした。



画像



すべてのようですか?



ビルドタスクの作成



Jenkinsのメインサイドメニューで、[新規アイテム]をクリックし、「フリースタイルプロジェクト」タイプのタスクの名前を見つけて[OK]をクリックすると、タスクの設定が開始されます。 [古いビルドを破棄する]チェックボックスをオンにすることを忘れないでください。そうしないと、すべてのバージョンのビルドがすぐにサーバーで満たされます。



全般
画像



[ソースコード管理]セクションで、プロジェクトのgitリポジトリのURLを指定します。 今後は、リポジトリにアクセスするための認証情報を開始せず、代わりに使用しません。



ソースコード管理
画像



masterブランチを収集します。 また、自動アセンブリを構成することもできます。特に、リポジトリを1分ごとにポーリングし、新しいコミットが検出された場合にアセンブリを開始できます。 Poll SCMをマークして、* * * * *を記述します。



ビルドトリガー
画像



ビルドセクションで、[ビルドステップの追加]をクリックし、Gradleアセンブリを構成します。 gradleバージョンは、Global Tools Configurationsで指定したアクセス可能になっている必要があります。 「クリーンビルド」という単純なタスクを作成します。 これらは、プロジェクトのルートにあるgradlew.batタスクで利用できるタスクです。 ここで、コレクターの他のタスクを呼び出すことができます。 キーで。



グラドル
画像



また、ビルド後のアクションを1つ追加します-AndroidアプリケーションであるAPK-schnikiを保存します。 だから私たちは書く:



**\*apk:
      
      





ビルド後のアクション
画像



組立



アセンブリを保存して実行すると、次のように表示され、10分間ハングしてリポジトリに到達できません。



 git.exe fetch --tags --progress http://localhost/Hello.git +refs/heads/*:refs/remotes/origin/*
      
      





gitリポジトリでは許可されていません! Jenkinsリポジトリ(ソースコード管理で-none-を残した場所)にログイン/パスワードのペアを追加しても、どのように試してもうまくいきませんでした。 他の方法を探す必要があります。



コマンドラインはKMセッションに代わって起動され、ジェンキンスはシステムに代わって起動され、それについて何も知らないため、Credential Managerリポジトリも発生しないようです。 つまり これは役に立ちません:



資格情報マネージャー
画像



ネットワークでさらに検索すると、いくつかのヒントが得られました。





Git認証


これを行うには、 PsToolsユーティリティセットのPsExec.exeが必要です。 これにより、システムの下からcmd.exeを実行できます。 昇格されたアクセス許可でcmd.exeを実行し、実行します。



 PsExec.exe -i -s cmd.exe
      
      





新しいコンソールで必要なのは、必要なリポジトリをノックするだけです。たとえば、コマンドラインでクローンを作成します。 資格情報が要求されます:



Git
画像



Jenkinsがこのリポジトリにアクセスできるようになります。 これは、開発者とともにBonobo Gitサーバーをセットアップするときに作成したKMと同じです。 将来これらの資格情報を変更する必要がある場合は、手順を再度実行する必要があります。



Android SDKコンポーネントのコンポーネントの不足とライセンスの受け入れ


SDKでモジュールが見つからず、アセンブリコンソールが次のようなメッセージを発行する場合があります。



 A problem occurred configuring project ':app'. You have not accepted the license agreements of the following SDK components: [Android SDK Platform 24, Android SDK Build-Tools 24.0.1].
      
      





この場合、昇格した権限でSDKマネージャーを実行し、不足しているコンポーネントをインストールする必要があります。



Android SDKマネージャー
画像



すべて、すべてのシャーマニズムの後、アセンブリは成功しました!



ビルド成功!
画像



Android開発者のチームを育てることができます。



PS適切なプラグインを使用してプロセスをさらに自動化し、Google Playストアでapk'shnikの自動公開を設定することができますが、何か問題があればこのことについてもう一度書くことができます。



All Articles