天天看點

Jenkins自動化打包

前言:實作功能點如下:

(1)git拉取源碼,随心建構任意分支

(2)gradle編譯,支援多種建構指令

(3)生成安裝包二維碼(基于本地服務,非上傳至第三方服務,如蒲公英)

準備:

1、安裝JDK及配置環境變量

2、安裝Python,并勾選添加至環境變量

Jenkins自動化打包

3、安裝Tomcat

(1)若Tomcat啟動指令視窗出現亂碼,打開Tomcat安裝目錄下conf/logging.properties檔案将UTF_8更改為GBK即可

(2)Tomcat預設8080端口,如果已被占用可以打開Tomcat安裝目錄下conf/server.xml進行更改端口号

Jenkins自動化打包

一、下載下傳并安裝Jenkins

.war為免安裝包但需要Tomcat,.msi需要安裝但無需Tomcat即可通路,這裡我選.war方式,主要是為了實作功能(3)

Jenkins自動化打包

将.war包放置Tomcat安裝目錄下的webapps中,啟動Tomcat即可

二、配置Jenkins主目錄(預設為C:Users\**\.jenkins,拉取的代碼也存放在該路徑下,為減少占用系統盤空間,如下更改即可)

(1)自定義建立目錄,如:E:\install\Jenkins

(2)建立系統變量JENKINS_HOME

Jenkins自動化打包

(3)将該變量添加至Path中%JENKINS_HOME%

三、解鎖Jenkins

浏覽器通路localhost:9090,在以下頁面輸入密鑰

Jenkins自動化打包

四、安裝插件

Jenkins自動化打包

有些插件可能安裝失敗,點選“繼續”即可 ,後續可以從"Manage Jenkins"->"Manage plujins"進行添加,這裡介紹一下我所需要的插件。

五、建立管理者賬戶

Jenkins自動化打包

六、插件管理:Manage jenkins-->Manage Plugins

(1)若頁面報“There were errors checking the update sites: SocketException: Connection res”可通過修改URL解決

Jenkins自動化打包

(2)所需插件如下:

插件名稱 插件描述
Git Parameter 配置git代碼

Locale

Localization: Chinese (Simplified)

Jenkins漢化
Gradle gradle編譯
Build Name and Description Setter 重命名Jenkins建構命名
description setter 展示二維碼相關
OWASP Markup Formatter 支援html格式

七、全局屬性配置:Manage jenkins-->Configure System-->Global properties

(1)Environment variables配置sdk、gradle、jdk

Jenkins自動化打包

注:

a.這裡未配置gradle會發生如下異常

Jenkins自動化打包

b.這裡未配置jdk會發生如下異常

Jenkins自動化打包

(2)Jenkins漢化

Jenkins自動化打包

八、全局安全配置:Manage jenkins-->Configure Global Security

Jenkins自動化打包

九、全局工具配置:Manage jenkins-->Global Tool Config

Jenkins自動化打包

十、建立項目

Jenkins自動化打包

十一、項目配置

1、正常配置

(1)添加描述

Jenkins自動化打包

(2)git多分支、gradle多指令配置

Jenkins自動化打包

(2)源碼管理

Jenkins自動化打包
Jenkins自動化打包

3、配置建構環境

Jenkins自動化打包

4、建構配置(指令按順序執行)

(1)gradle配置(這裡也可以使用Use Gradle Wrapper則使用項目的gradle-wrapper.properties)

Jenkins自動化打包

(2)配置指令(用于生成可通路二維碼)

Jenkins自動化打包

說明:

指令 描述
set  設定變量
mkdir 建立目錄
if 判斷條件
copy 拷貝檔案
rename 重命名
echo 列印資訊

拷貝檔案:要拷貝到目錄下,不可指定檔案,如這裡是先拷貝後重命名檔案,而不可用直接拷貝至%APP_PATH%\demo.apk

python指令:由于Jenkins對Python支援的不是很友好,及時成功配置了python環境變量這裡也要使用python.exe完整路徑

my_qrcode.py檔案:該檔案名稱可自定義但不能使用qrcode.py會和Python保留的沖突

Jenkins自動化打包

5、建構後操作

Jenkins自動化打包

十二、成果展示

Jenkins自動化打包
Jenkins自動化打包

繼續閱讀