macos下使用jenkins+tomcat搭建自动构建环境的脚本配置
来源:互联网 发布:python与nodejs 编辑:程序博客网 时间:2024/06/05 10:23
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=i386arch=armv7sdk=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/eSpaceVersionsremoteRootDir=http://10.60.6.100:8080/eSpaceVersionslogDir=$outputDir/loglogPath=$logDir/build_logipaDir=$outputDir/ipa/$BUILD_IDipaPath=$ipaDir/$projectName.iparemoteIpaPath=$remoteRootDir/ipa/$BUILD_ID/$projectName.ipasrcPath=${WORKSPACE}/$projectNameMainfestFile=$ipaDir/manifest.plistInstallFile=$ipaDir/install.htmlmkdir -p $outputDirmkdir -p $logDirmkdir -p $ipaDircd $srcPath#cleanecho "1. Clean project start. Command:xcodebuild clean -sdk $sdk -configuration $configuration" >>$logPath 2>&1xcodebuild clean -sdk $sdk -configuration $configuration >>$logPath 2>&1echo " Clean project end" >>$logPath 2>&1#security unlock-keychain#buildecho "2. Build project start. Command:xcodebuild -sdk $sdk -configuration $configuration" >>$logPath 2>&1xcodebuild -sdk $sdk -configuration $configuration CODE_SIGN_IDENTITY="iPhone Distribution: Sinotrans Guangdong Co., Ltd."echo " Build project end" >>$logPath 2>&1#checkif [ ! -d ./build/$configuration-iphone$device/ ]thenecho "build failed. " >>$logPath 2>&1gzip -9 -c $logPat > log.gz(uuencode log.gz log.gz)|mail -s "RCS-iPhone BUILD FAILED" xxx@xxx.com.cn >>$logPath 2>&1exit 0fi#packageecho "3. Package app start." >>$logPath 2>&1mkdir -p $ipaDir/Payloadcp -r ./build/$configuration-iphone$device/$projectName.app $ipaDir/Payloadcp ./build/${projectName}.build/$configuration-iphone$device/${projectName}.build/${projectName}-LinkMap-normal-${arch}.txt $ipaDircd $ipaDirzip -r ${projectName}.ipa Payload iTunesArtwork >>$logPath 2>&1rm -fr Payloadecho " Package app end." >>$logPath 2>&1#create mainfest.plist echo "4. Create mainfest.plist file begin" >> $logPath 2>&1touch $MainfestFileecho "{" >> $MainfestFileecho " items = " >> $MainfestFileecho " ({ " >> $MainfestFileecho " assets =" >> $MainfestFileecho " (" >> $MainfestFileecho " {" >> $MainfestFileecho " kind = \"software-package\";" >> $MainfestFileecho " url = \"$remoteIpaPath\";" >> $MainfestFileecho " }," >> $MainfestFileecho " {" >> $MainfestFileecho " kind = \"display-image\";" >> $MainfestFileecho " needs-shine = YES;" >> $MainfestFileecho " url = \"$remoteRootDir/display.png\";" >> $MainfestFileecho " }," >> $MainfestFileecho " );" >> $MainfestFileecho " metadata =" >> $MainfestFileecho " {" >> $MainfestFileecho " bundle-identifier = \"com.xxx\";" >> $MainfestFileecho " bundle-version = \"1.0\";" >> $MainfestFileecho " kind = software;" >> $MainfestFileecho " subtitle = Apple;" >> $MainfestFileecho " title = \"eSpace iPhone\";" >> $MainfestFileecho " };" >> $MainfestFileecho " });" >> $MainfestFileecho "}" >> $MainfestFileecho " Create mainfest.plist file end " >> $logPath 2>&1