提公升效率 自動加固並上傳到蒲公英

2021-09-24 06:39:38 字數 2619 閱讀 1701

我們的超管包是需要發給運營人員去使用的,防止洩露導致的安全風險,我們希望對超管包先進行加固然後再上傳到蒲公英。

再次引用我的名言:

時間是最寶貴的財富,我們的時間得用在刀刃上。

本文基於 使用 gradle 實現一套**開發多個應用 中的 gradle 配置進行迭代開發,帶領大家實現360加固的自動化 gradle 指令碼。

我們的目標是全自動化,並且在每個團隊成員的電腦上都能夠實現一行命令執行,不需要做額外的配置。

完整的config.gradle配置:

ext 

複製**

新建乙個jiagu.gradle檔案:

import org.apache.tools.ant.taskdefs.condition.os

def downloadurl = os.isfamily(os.family_windows) ? rootproject.ext.jiagu["jiagubao_windows"] : rootproject.ext.jiagu["jiagubao_mac"]

def zippath = rootproject.ext.jiagu["zippath"]

def unzippath = rootproject.ext.jiagu["unzippath"]

task download360jiagu()

exec }}

dolast

}}複製**

import org.apache.tools.ant.taskdefs.condition.os

def downloadurl = os.isfamily(os.family_windows) ? rootproject.ext.jiagu["jiagubao_windows"] : rootproject.ext.jiagu["jiagubao_mac"]

def zippath = rootproject.ext.jiagu["zippath"]

def unzippath = rootproject.ext.jiagu["unzippath"]

//加固後所有apk的儲存路徑

/** * 加固

* @param config 配置加固可選項

* @param apkpath 要加固的檔案路徑

* @param outputpath 輸出路徑

* @param automulpkg 是否自動生成多渠道包

*/def jiagu(string config, string apkpath, string outputpath, boolean automulpkg)

//公升級到最新版本

exec

//顯示當前版本號

exec

//匯入簽名資訊

exec

//配置加固可選項

exec

//加固命令

def jiaguargs

if (automulpkg) else

exec

println "加固的檔案路徑:$"

println "加固後的檔案路徑:$"

}/**

* 根據多渠道檔案進行加固

*/ dofirst

}group = "publish"

dolast

jiagu("-", apkfile.absolutepath, apkoutputfile.absolutepath, true)

}}private

static

void checkoutputdir(file apkoutputfile)

}} else

}static

def getcurtime()

複製**

在根目錄的jiagu資料夾中建立channel.txt檔案,在其中可以配置你需要的多渠道資訊。

如果需要配置更多的加固選項,可以在jiagu/360jiagubao/jiagu/help.txt中檢視所有的加固命令。

jiagu.gradle中新增單獨加固超管包的方法:

/** * 加固超管服包

*/ dofirst

}group = "publish"

dolast

jiagu("-", apkfile.absolutepath, apkoutputfile.absolutepath, false)

}}複製**

修改蒲公英上傳方法:

/** */

group = "publish"

dolast

file files = dir.listfiles(new filefilter()

})if (files == null || files.size() == 0)

file apkfile = files[0]

uploadpgy(apkfile.path)

}}複製**

自動打包檔案並上傳到ftp

bin bash ftpserver ftp.aaa rmtdir bbb user user pass password filename project date y m d tar.bz2 subdir date y m d release echo generating tarball.if...

同步binlog並上傳到hdfs

bin bash echo 執行節點 hostname 正 時 ip 1 portc 4044 if eq 4 then portc 2 yearid dateid starttime 00 00 00 endtime 23 59 59 else echo 輸入引數有誤 exit 1 fisufix...

Flume監聽檔案並上傳到hdfs

監聽hive日誌,並上傳到hdfs中 flume yymmddhh 目錄下,檔案字首為logs 每乙個小時新建重新建立乙個資料夾,每接收10m資料落地一次,當資料不足10m時15分鐘落地一次 匯入以下jar包到flume路徑下的lib裡,裡為相應版本,在hadoop路徑下share hadoop下都...