macos下使用jenkins+tomcat搭建自動構建環境的腳本配置

Tomcat
  server.xml
    <Host><Context docBase="eSpaceVersions" path="/eSpaceVersions" /></Host>
      
  web.xml
    <!-- ipa 下載 配置      -->
    <mime-mapping>
        <extension>ipa</extension>
        <mime-type>application/vnd.iphone</mime-type>
    </mime-mapping>
    <!-- apk 下載 配置      -->
    <mime-mapping>
        <extension>apk</extension>
        <mime-type>application/vnd.android.package-archive</mime-type>
    </mime-mapping>

  tomcat_users.xml
    <role rolename="manager"/>
    <role rolename="admin"/>
    <user username="wahaha" password="123" roles="admin,manager"/>
#arch=i386
arch=armv7
sdk=iphone$device$sdkVersion
#ip="/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep 10.60.*|grep -v inet6|awk '{print $2}'"

outputDir=/Users/xxx/Documents/apache-tomcat-6.0.16/webapps/eSpaceVersions
remoteRootDir=http://10.60.6.100:8080/eSpaceVersions

logDir=$outputDir/log
logPath=$logDir/build_log

ipaDir=$outputDir/ipa/$BUILD_ID
ipaPath=$ipaDir/$projectName.ipa
remoteIpaPath=$remoteRootDir/ipa/$BUILD_ID/$projectName.ipa

srcPath=${WORKSPACE}/$projectName

MainfestFile=$ipaDir/manifest.plist
InstallFile=$ipaDir/install.html

mkdir -p $outputDir
mkdir -p $logDir
mkdir -p $ipaDir

cd $srcPath

#clean
echo "1. Clean project start. Command:xcodebuild clean -sdk $sdk -configuration $configuration" >>$logPath 2>&1
xcodebuild clean -sdk $sdk -configuration $configuration >>$logPath 2>&1
echo "   Clean project end" >>$logPath 2>&1

#security unlock-keychain

#build
echo "2. Build project start. Command:xcodebuild -sdk $sdk -configuration $configuration" >>$logPath 2>&1
xcodebuild -sdk $sdk -configuration $configuration CODE_SIGN_IDENTITY="iPhone Distribution: Sinotrans Guangdong Co., Ltd."
echo "   Build project end" >>$logPath 2>&1

#check
if [ ! -d ./build/$configuration-iphone$device/ ]
then
echo "build failed. " >>$logPath 2>&1
gzip -9 -c $logPat > log.gz
(uuencode log.gz log.gz)|mail -s "RCS-iPhone BUILD FAILED" [email protected] >>$logPath 2>&1
exit 0
fi

#package
echo "3. Package app start." >>$logPath 2>&1
mkdir -p $ipaDir/Payload
cp -r ./build/$configuration-iphone$device/$projectName.app $ipaDir/Payload
cp ./build/${projectName}.build/$configuration-iphone$device/${projectName}.build/${projectName}-LinkMap-normal-${arch}.txt $ipaDir
cd $ipaDir
zip -r ${projectName}.ipa Payload iTunesArtwork >>$logPath 2>&1
rm -fr Payload
echo "   Package app end." >>$logPath 2>&1

#create mainfest.plist 
echo "4. Create mainfest.plist file begin" >> $logPath 2>&1
touch $MainfestFile

echo "{" >> $MainfestFile
echo "    items = " >> $MainfestFile
echo "    ({ " >> $MainfestFile
echo "        assets =" >> $MainfestFile
echo "        (" >> $MainfestFile
echo "            {" >> $MainfestFile
echo "                kind = \"software-package\";" >> $MainfestFile
echo "                url = \"$remoteIpaPath\";" >> $MainfestFile
echo "            }," >> $MainfestFile
echo "            {" >> $MainfestFile
echo "                kind = \"display-image\";" >> $MainfestFile
echo "                needs-shine = YES;" >> $MainfestFile
echo "                url = \"$remoteRootDir/display.png\";" >> $MainfestFile
echo "            }," >> $MainfestFile
echo "        );" >> $MainfestFile
echo "        metadata =" >> $MainfestFile
echo "        {" >> $MainfestFile
echo "            bundle-identifier = \"com.xxx\";" >> $MainfestFile
echo "            bundle-version = \"1.0\";" >> $MainfestFile
echo "            kind = software;" >> $MainfestFile
echo "            subtitle = Apple;" >> $MainfestFile
echo "            title = \"eSpace iPhone\";" >> $MainfestFile
echo "        };" >> $MainfestFile
echo "    });" >> $MainfestFile
echo "}" >> $MainfestFile

echo "   Create mainfest.plist file end  " >> $logPath 2>&1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章