安装Jenkins
brew install jenkins
然后运行jenkins,启动后访问localhost:8080, 如果访问正常说明安装成功了。
因为打包脚本使用的是python脚本,所以要在插件管理里面安装python插件。
使用Jenkins
-
新建任务
- 选择构建一个自由风格的软件项目
- 然后配置该任务,因为打包使用的脚本,所以jenkins的源码管理等功能都没有用到,只需要关注构建这一步就可以了。
# 在jenkins上使用的打包脚本
import optparse
import os
import sys
import getpass
import json
import time
import commands
import re
import string
targetName = 'package'
mainPath = os.environ['WORKSPACE']
branch = os.environ['branch']
version = ''
if os.environ.has_key('version'):
version = os.environ['version']
print(branch,version)
cmd='cd "%s"; git reset --hard HEAD; git checkout %s; git pull'%(mainPath,branch)
print(cmd)
os.system(cmd)
cmd = 'cd "%s"; python build.py %s %s %s %s'%(mainPath,targetName,branch,os.environ['BUILD_ID'],version)
print(cmd)
os.system(cmd)
- 脚本主要做了拉取分支操作,然后执行package项目里面的build.py脚本。下面是package的具体打包脚本。
import optparse
import os
import sys
import getpass
import json
import time
import commands
import re
import string
import subprocess
import codecs
import shutil
print('执行build.py')
for item in sys.argv:
print(item)
mainPath = os.path.split(os.path.realpath(__file__))[0]
print(mainPath)
mainPath = os.path.join(mainPath,'package')
cmd="cd %s;xcodebuild archive -workspace %s.xcworkspace -scheme %s -configuration 'Release Adhoc' -archivePath ./build -derivedDataPath ./derivedData"%(mainPath,'package','package')
print(cmd)
os.system(cmd)
cmd="cd %s;xcodebuild -exportArchive -archivePath ./build.xcarchive -exportPath ./ipa -exportOptionsPlist ./ExportOptions.plist"%(mainPath)
print(cmd)
sys.stdout.flush()
os.system (cmd)