1. jenkins 一定要命令行安裝只搁,不要官網(wǎng)下載安裝包(不然后面各種權(quán)限問題弄的你想吐)托呕,安裝各種插件
2. 前往 ?/資源庫/LaunchDaemons/org.jenkins-ci.plist 修改GroupName和UserName 為當(dāng)前用戶的組和名字
3. 啟動(dòng)命令?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òng)打包,導(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如果沒有請(qǐng)先創(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
#<------------------------------------------------------->
注意:安卓打包可能會(huì)如果要加上證書的話,在工程的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
}
}??
可完成證書打包
參考文章