mac jenkins 配置自動化打包注意事項(xiàng)(ios 和android)

1. jenkins 一定要命令行安裝,不要官網(wǎng)下載安裝包(不然后面各種權(quán)限問題弄的你想吐),安裝各種插件

2. 前往 ?/資源庫/LaunchDaemons/org.jenkins-ci.plist 修改GroupName和UserName 為當(dāng)前用戶的組和名字

3. 啟動命令?java -jar /usr/local/Cellar/jenkins/2.117/libexec/jenkins.war --httpPort=8080

4.新建工程,配置shell命令

(IOS)命令

#<------------------------------------------------------->

# 刪除舊源碼目錄->新建源碼目錄->從svn導(dǎo)出最新代碼->清理舊文件->清除舊項(xiàng)目->打包->上傳

pwd

# 名稱配置

checkout_name="ios"

project_name="EasyPrice"

# 配置項(xiàng)目版本

targetProject_destination="generic/platform=iOS"

configuration="Release"

#configuration="Debug"

scheme="$project_name"

workspace_name="${project_name}.xcworkspace"

# 目錄配置

save_path="/Users/august/Desktop/project_package/$project_name"

archive_path="$save_path/${project_name}.xcarchive"

ipa_path="$save_path/${project_name}.ipa"

log_path="$save_path/log.txt"

optionlist="$save_path/ExportOptions.plist"

# svn配置

svn_path="svn路徑"

checkout_path="$save_path/$project_name"

svn_name="svn用戶名"

svn_password="svn密碼"

# 配置簽名證書、描述文件

codeSignIdentity="簽名文件名字"

provision_UUID="描述文件uuid"

provisoning_profile="描述文件名字"

# 配置蒲公英

#upload_path="$save_path/${project_name}.ipa"

upload_path="$ipa_path/${project_name}.ipa"

pgy_userKey="蒲公英userKey"

pgy_apiKey="蒲公英apiKey"

echo "正在刪除舊源碼"

# 刪除舊源碼目錄

# rm -rf "$checkout_path" >> $log_path

echo "正在創(chuàng)建新的源碼目錄"

# 新建源碼目錄

# cd "$save_path" >> $log_path

pwd

#mkdir "$checkout_name" >> $log_path

echo "正在從svn下載最新的源碼"

# 從svn導(dǎo)出最新代碼

svn checkout "$svn_path" "$save_path" --username "$svn_name" --password "$svn_password" >> $log_path

#svn update "$checkout_path" --username "$svn_name" --password "$svn_password"

echo "正在刪除舊文件"

# 刪除舊文件

rm -rf "$log_path" >> $log_path

rm -rf "$archive_path" >> $log_path

rm -rf "$ipa_path" >> $log_path

echo "正在清除構(gòu)建項(xiàng)目緩存"

# 重要,執(zhí)行xcodebuild命令時(shí),必須進(jìn)入項(xiàng)目目錄

cd "$checkout_path" >> $log_path

pwd

# 清理構(gòu)建目錄

xcodebuild clean -configuration "$configuration" -alltargets >> $log_path

echo "正在打包"

# 歸檔(其他參數(shù)不指定的話,默認(rèn)用的是.xcworkspace或.xcodeproj文件里的配置)

xcodebuild archive -workspace "$workspace_name" -scheme "$scheme" -destination "$targetProject_destination" -configuration "$configuration" -archivePath "$archive_path"

echo "正在導(dǎo)出ipa包"

# 導(dǎo)出IPA

xcodebuild -exportArchive -archivePath? "$archive_path" -exportPath "$ipa_path"? -exportOptionsPlist "$optionlist"

echo "正在上傳ipa到蒲公英"

# 上傳IPA到蒲公英

curl -F "file=@$upload_path" -F "uKey=$pgy_userKey" -F "_api_key=$pgy_apiKey" https://qiniu-storage.pgyer.com/apiv1/app/upload

#<------------------------------------------------------->

//注意:ExportOptions.plist文件為手動打包,導(dǎo)出ipa文件時(shí)附帶的,加入自己工程上層文件夾(可以自己指定文件夾),provisoning_profile(ad_hoc_Provisioning.mobileprovision)描述文件和工程文件放在一起





(android)命令

#<------------------------------------------------------->

# 刪除舊源碼目錄->新建源碼目錄->從svn導(dǎo)出最新代碼->清理舊文件->清除舊項(xiàng)目->打包->上傳

pwd

project_name="Yijia"

# 目錄配置

save_path="/Users/august/Desktop/project_package/EasyPrice_Android"

buildPath="/Users/august/Desktop/project_package/EasyPrice_Android/Yijia/app/build/outputs/apk/release"

log_path="$save_path/log.txt"

# svn配置

svn_path="svn自己填寫"

checkout_path="$save_path/$project_name"

svn_name="svn自己填寫"

svn_password="svn自己填寫"

# 配置蒲公英

#upload_path="$save_path/${project_name}.ipa"

upload_path="$buildPath/app-release.apk"

pgy_userKey="蒲公英userKey自己填寫"

pgy_apiKey="蒲公英apiKey自己填寫"

echo "正在刪除舊源碼"

echo "delete doc $checkout_path"

# 刪除舊源碼目錄

#log.txt如果沒有請先創(chuàng)建

rm -rf "$log_path" >> $log_path

rm -rf "$checkout_path" >> $log_path

echo "正在創(chuàng)建新的源碼目錄"

# 新建源碼目錄

cd "$save_path" >> $log_path

pwd

mkdir "$project_name" >> $log_path

echo "正在從svn下載最新的源碼"

# 從svn導(dǎo)出最新代碼

svn checkout "$svn_path" "$checkout_path" --username "$svn_name" --password "$svn_password" >> $log_path

echo "正在清除構(gòu)建項(xiàng)目緩存"

cd "$checkout_path" >> $log_path

// 添加執(zhí)行權(quán)限

chmod +x gradlew

#開始打包

./gradlew assembleRelease

echo "正在上傳工程文件到蒲公英"

# 上傳IPA到蒲公英

curl -F "file=@$upload_path" -F "uKey=$pgy_userKey" -F "_api_key=$pgy_apiKey" https://qiniu-storage.pgyer.com/apiv1/app/upload

#<------------------------------------------------------->

注意:安卓打包可能會如果要加上證書的話,在工程的gradle.properties加入

RELEASE_STORE_FILE=簽名文件地址

//RELEASE_STORE_FILE=/Users/august/Desktop/project_package/EasyPrice_Android/yijia.jks

RELEASE_STORE_PASSWORD=簽名文件密碼

RELEASE_KEY_ALIAS=文件別名

RELEASE_KEY_PASSWORD=文件別名密碼

并在app下的build.gradle的android模塊加入

signingConfigs {

debug {

storeFile file (RELEASE_STORE_FILE)

storePassword RELEASE_STORE_PASSWORD

keyAlias RELEASE_KEY_ALIAS

keyPassword RELEASE_KEY_PASSWORD

}

}??

可完成證書打包

參考文章

Mac中jenkins的使用——自動構(gòu)建

mac下Jenkins 主目錄導(dǎo)致的權(quán)限問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容