こんにちは
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)の役割を追加します。
次のフォームの主なことは、ASP.NET 4.5をFeatureに追加することを忘れないことです。
ASP.NET MVC4
配布を実行します。
途中で、MS SQL Server 2008 Expressがインストールされ、米国saのパスワードが求められます。 必要がなければ、もう必要ないことを願っています:
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マネージャーのアクションですべてが正常に実行された場合は、[参照]をクリックします。*:80(http)を取得し、(名前とポートを変更しなかった場合)localhost / BonoboGitServerに取得します。
最初のログインadmin / adminのログインとパスワード。 サーバーには多くの設定がありません(いずれにせよ、Webインターフェイス経由)。たとえば、インターフェイス言語を変更できます。
開発者やジェンキンスなどの新しいユーザーを作成します。 1つ目は独自に作業し、2つ目は将来のアセンブリサーバーに必要です。
新しいリポジトリを作成し、開発者とアセンブラに権利を付与します(画面にはjenkins KMはありませんが、すべてを順番に行うとそこにあるはずです...)
求められている.gitアドレスを持つリポジトリページの例。 なぜなら localhostが表示されているアドレスの同じマシンのブラウザからサーバーにアクセスしましたが、通常のDNSサーバー名またはIPを持っている可能性があります。
Android Studioでプロジェクトを作成して、リポジトリのアドレスをリモートブランチとして指定できます。 この
ローカル部分はすべてスキップします。
ジェンキンス
Jenkinsはmsiからインストールされ、実際には何も聞かれません。インストールの最後に、ファイルからinitialAdminPasswordをコピーしてパスワードを貼り付ける必要があるアドレスのページが自動的に開きます。
将来、パスワードUZ adminも変更できます。
必要なプラグインをインストールし、サーバーを構成します。 Jenkinsの管理-プラグインの管理-利用可能に注意してください:
- JDKパラメータープラグイン
- Gitプラグイン
- Android Emulatorプラグイン
- Gradleプラグイン
Jenkinsを再起動した後、Jenkinsの管理-システムの構成セクションに移動し、2つの場所で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リポジトリも発生しないようです。 つまり これは役に立ちません:
ネットワークでさらに検索すると、いくつかのヒントが得られました。
- USセッションからシステムにsshキーを転送しましたが、見つかりませんでした。
- 動作した2番目の方法(git承認)。
Git認証
これを行うには、
PsToolsユーティリティセットの
PsExec.exeが必要です。 これにより、システムの下からcmd.exeを実行できます。 昇格されたアクセス許可でcmd.exeを実行し、実行します。
PsExec.exe -i -s cmd.exe
新しいコンソールで必要なのは、必要なリポジトリをノックするだけです。たとえば、コマンドラインでクローンを作成します。 資格情報が要求されます:
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開発者のチームを育てることができます。
PS適切なプラグインを使用してプロセスをさらに自動化し、Google Playストアでapk'shnikの自動公開を設定することができますが、何か問題があればこのことについてもう一度書くことができます。