macos下使用jenkins+tomcat搭建自动构建环境的脚本配置

本文介绍了一种使用Tomcat服务器部署iOS应用的具体步骤,包括配置server.xml和web.xml文件,利用Xcode进行构建和打包,并最终上传至Tomcat服务器的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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" xxx@xxx.com.cn >>$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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值