mac jenkins 셋팅

2018. 5. 25. 18:17Cocos2d-X

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.




mac 에 jenkins 셋팅 과정을 설명한다.


1. brew 셋팅

https://brew.sh/index_ko


/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


2. jq 라이브러리 설치 


https://stedolan.github.io/jq/download/


json 파싱을 위한 라이브러리


brew install jq.




3. jenkins 설치 


https://jenkins.io/



4. 권한 수정 


기본적으로 jenkins 라는 유저로 권한이 부여됨 


사용중인 권한으로 모두 수정 


1) org.jenkins-ci.plist 수정 


sudo emacs /Library/LaunchDaemons/org.jenkins-ci.plist


UserName


    jenkins 이걸 hyungchul.kim 으로 수정


    

     

2) 폴더 권한 수정 


sudo chown -R hyungchul.kim /Users/Shared/Jenkins/


sudo chown -R hyungchul.kim /var/log/jenkins


3) 재시작 


sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist


sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist


5. item 생성 


이건 뭐 알아서 


6. plist 버전 정보 변경 ( ios 만, Android는 나중에 한번더 올리겠뜸 )


1) 버전 정보 서버에서 받은후

2) plist 수정 

#!/bin/bash


#config

device=2

projectpath='./proj.ios_mac'


#curl networks

curlcmd=$(curl -s '버전정보 가져오는 주소.php?devicetype='$device) 

result=$(echo ${curlcmd} | jq .ios )


#json parser

code=$(echo ${result} | jq .code)

appversion=$(echo ${result} | jq .appversion)


#json info

echo "$code";

echo "$appversion";


plistname='copy_debug_info.plist';

plistpath=`pwd -P`/buildconfig/$plistname;


/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $code" "$plistpath"

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $appversion" "$plistpath"


#json parser

cp $plistpath ./proj.ios_mac/ios/Info.plist



7. 빌드 스크립트


1) 빌드 

2) testFlight 에 업로드 

3) fabric 에 업로드


export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin #.base_profile path 설정



svnpath="프로젝트명"

cd $svnpath


outputfile='프로젝트명-release';

path=`pwd -P`;


$path/ios_debug.sh


iospath=$path/proj.ios_mac/

cd $iospath



#xcodebuild -list



ls -al


xcodebuild -project 프로젝트명.xcodeproj -scheme '프로젝트명-dev' -archivePath $path/build/$outputfile.xcarchive archive


rm -rf $path/build/$outputfile.ipa -v




xcodebuild -exportArchive \

-archivePath $path/build/$outputfile.xcarchive \

-exportPath $path/build/$outputfile.ipa \

-exportOptionsPlist $path/buildconfig/ios_debug.plist


USERNAME='애플개발자 아이디';

PASSWORD='애블개발자 비번';


/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool --upload-app -f $path/build/[projectname].ipa/프로젝트명-dev.ipa -u $USERNAME -p $PASSWORD --output-format normal


cp -R /$path/build/vl-release.ipa/프로젝트명-dev.ipa /$path/프로젝트명-release.ipa 


#fabric upload

/Applications/Fabric.app/Contents/MacOS/upload-symbols -a 고유 번호 -p ios /$path/build/[projectname].xcarchive/dSYMs/[projectname].app.dSYM