分布
- OSはWindows Server 2012 R2 Standard x64になります
- Jenkins for Windowsは別のmsiにあります
- Bonobo gitサーバー
- Jdk
- ASP.NET MVC 4
- ページではなく、環境ではなくSDKの下部にあるAndroid SDKツール
- Git for Windows x64
最後の準備
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の管理-プラグインの管理-利用可能に注意してください:
- JDKパラメータープラグイン
- Gitプラグイン
- Android Emulatorプラグイン
- Gradleプラグイン
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をダウンロードする場所を詳しく調べませんでした。

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
新しいコンソールで必要なのは、必要なリポジトリをノックするだけです。たとえば、コマンドラインでクローンを作成します。 資格情報が要求されます:
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の自動公開を設定することができますが、何か問題があればこのことについてもう一度書くことができます。