Jenkinsモバイル端末CI実戦

1. 背景

現在のクライアントのリリースサイクルは週に1回となっており、モバイル端末の継続的インテグレーションと配信に対する要求が高く、安定した信頼性の高い継続的インテグレーションと配信システムを迅速に構築する必要があります。

第二に、現状

ダブルエンド パッカーは、会社の LAN に接続された物理ホストを使用します。パッキングには、開発者がパッカーにログインし、pack コマンドを使用して手動でパッキングする必要があります。パッキングとテストを行う必要があります。QA 学生が問題を報告した場合は、テストに合格するまで製品を梱包、テストし、納品します。複数の支店にまたがる梱包タスクがある場合、梱包機を使用する前に他の生徒がそれを完了するまで待つ必要があり、プロセスに非常に時間がかかります。

3. CI環境の構築

プログラムに関する一連の議論の後、私たちは既存のインフラストラクチャに基づいていくつかの改良を加え、一連の自動化システムを完成させることにしました。
1. パッケージング マシンを以前に構築した jenkins サーバーに接続し、jenkins を使用してパッケージング作業を完了します
2. テスト プラットフォームが jenkins API に接続され、プラットフォームを通じてパッケージング リクエストが開始されます

--> jenkins --> パッケージング マシン タスクを実行 --> パッケージが完了 --> 通知
プラットフォーム ページを送信
ここに画像の説明を挿入

jenkins ページの
ここに画像の説明を挿入
パラメトリック ビルドに必要なプラグイン
ここに画像の説明を挿入

ベーラーを接続する

接続方法:
1. イントラネットパンクチャ方式を使用してパッカーの LAN を公衆ネットワークに転送し、公衆ネットワークと LAN 間の相互アクセスを実現します。 Zhihu チュートリアル: https://www.zhihu.com/question/50646943
cpolar
公式ウェブサイト: https://dashboard.cpolar.com/get-started
短所: 料金と速度制限、無料版の IP は変更され、安全ではない、個人プレイヤーに適しているが、企業レベルのサービスの構築には適していない 2.
gitlabci を使用して、 gitlab サーバーと gitrunner Packer に接続します。このメソッドには jenkins 3 は必要ありません。jenkins
サブノード経由で接続します。ここでは、java-web メソッドを使用してサブノード接続モードを設定する必要があります。ここで注意すべき点の 1 つは、 jenkins のマスター ノードはパブリック ネットワーク サーバー上にある必要があります。パッカーはローカル エリア ネットワークでのみ使用できます。

これは 3 番目のタイプの主なデモンストレーションです:
jenkins 構成
ここに画像の説明を挿入

ジェンキンスビルドスクリプト

#!/bin/bash -l

sh jenkins路径/checkGit.sh -g [email protected]:iOS/ZQMusic.git
cd jenkins工作区/ZQMusic
sh updateShell.sh
sh .zqsh/publish.sh -p $JOB_NAME -c Profile -d $BUILD_ID -i com.zhenqu.music -b xx_3.68_bugfix -n "xxxx(Dev_3.62)"

サーバースケジュールコード

Jenkins スケジューリング インターフェイスを実装します (go と Python の 2 つの実装コード例を含む)

おすすめ

転載: blog.csdn.net/weixin_43587784/article/details/129566645