SlideShare a Scribd company logo
1 of 17
Download to read offline
(CI System) -
Github
Social
https://github.com/ChenWeiLee
https://www.facebook.com/profile.php
iOS 2 Objective-C
Swift
Clean Code SVM
Enoch Lee
,
1. - Fastlane
2. - Fastlane
3. - Fastlane
4. - Jenkins Fastlane
- Fastlane
- Fastlane (I)
FASTLANE
FASTLANE FASTLANE CocoaPods xctool
- Fastlane (II)
•deliver MetaData App AppStore
•snapshot App
•frameit iphone/ipad
•pem Push Notification
•sigh provisioning
•produce App iTunes Connect Developer
•cert iOS
•gym App ipa
•scan App UI Testing Unit Testing
iOS
- Fastlane
- Fastlane (I)
由於Fastlane是採⽤Ruby去寫的,所以在你的OS需要有Ruby 2.0.0以上的版本,如果沒有的話可以⽤下列去安裝
(好⽤的brew install⼯具)
brew install ruby-install
ruby-install -i /usr/local/bin ruby 2.1.0
然後再檢查⾃⼰電腦的Xcode command line tool是否為最新的版本
xcode-select --install
以上是為了要將環境準備好,如果上⾯有任⼀個沒有完成的話,程式就不會作動。
- Fastlane (II)
Fastlane
Fastlane
sudo gem install fastlane —verbose
可能在這過程中會出問題(如果是iOS 10.10的話),可以先使⽤下列指令(出處)
sudo gem install nokogiri -v '1.6.6.2' -- --use-system-libraries --with-
xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib
- Fastlane
- Fastlane(I)
⾸先,我們就在專案上⾯加上Fastlane吧,因此我們需要到⽬標專案的.xcodeproj
fastlane
fastlane install
接著他會問你⼀⼤串問題
1. [15:04:18]: Detected iOS/Mac project in current directory...

[15:04:18]: This setup will help you get up and running in no time.

[15:04:18]: First, it will move the config files from `deliver` and `snapshot`

[15:04:18]: into the subfolder `fastlane`.

[15:04:18]: fastlane will check what tools you're already using and set up

[15:04:18]: the tool automatically for you. Have fun!

Do you have everything commited in version control? If not please do so now!(y/n)

(是否要⽤commited控制版本︖)
2. Created new folder './fastlane'.[15:04:31]: ------------------------------

[15:04:31]: To not re-enter your username and app identifier every time you run one of the fastlane tools or fastlane,
these will be stored from now on.

App Identifier (com.krausefx.app):

(輸入App的Bundle ID)
- Fastlane(II)
3. Your Apple ID (fastlane@krausefx.com):

(輸入Developer Apple ID)
[15:06:27]: Created new file './fastlane/Appfile'. Edit it to manage your preferred app metadata information.

Do you want to setup 'deliver', which is used to upload app screenshots, appmetadata and app updates to the App Store?
This requires the app to be in the AppStore already. (y/n)

(是否要上傳至AppStore,這邊我選n)
Do you want to setup 'snapshot', which will help you to automatically take

screenshots of your iOS app in all languages/devices? (y/n)

(如果y他會開始loading截圖的⼀些檔案)
6. Open your Xcode project and make sure to do the following:1) Add the ./SnapshotHelper.swift to your UI Test target   You
can move the file anywhere you want2) Call `setLanguage(app)` when launching your app



  let app = XCUIApplication()

  setLanguage(app)

  app.launch()



3) Add `snapshot("0Launch")` to wherever you want to create the screenshotsMore information on GitHub: https://
github.com/krausefx/snapshotDo you want to use 'sigh', which will maintain and download the provisioningprofile for your
app? (y/n)

If y) Optional: The scheme name of your app (If you don't need one, just hit

Enter):
7.   Do you want to enable crash reporting? (y/n)
(是否要 Crash ,這邊我選y)
這些問題都回答完後他就會在你的⽬錄下新增⼀個Fastlane的資料夾
- Jenkins Fastlane
- Jenkins Fastlane(I)
在這邊我們來介紹⼀下Fastlane 裡⾯有個叫Gym的!其實他裡⾯也是利⽤xcodeBuild來做Build的事情,但是他可以⽤比較簡單的指令就能完成我
們所要做的事情,以下我會列出我比較常加入的參數進去:
1. gym --help / -h               gym
2. gym --project/-p             xcodeproj ex: -p "Enoch.xcodeproj"
3.     --scheme/-s                Scheme ex: -s "ENOCH"
4.     --configuration/-q        configuration(Release/Debug) ex: -q "Release"
5.     --sdk/-k                 Build( /iphoneos) ex: -k iphoneos
6.   --codesigning_identity/-i code signing identity ex:-i "iPhone Distribution: FAR"
7.     --clean/-c                 Build clean
8.     --output_name/-n          output ipa ex:-n “CWName”
ipa
gym -p “Enoch.xcodeproj" -s “ENOCH" -q “Release" -k iphoneos -i "iPhone Distribution: FC” -n “CWName” -c
gym
- Jenkins Fastlane(II)
來介紹⼀下Fastlane 裡⾯有個叫Scan的,他其實就是幫我們Run測試的部分,在使⽤他的時候他會幫我們開啟模擬器來跑我們的⼀
些 Unit Test、UI Testing的測試,並且他會將我們的測試報告輸出。
我在我的Github上⾯有放⼀個Sample的UnitTesting專案:https://github.com/ChenWeiLee/Sample-UnitTesting,裡⾯我已經加好
Fastlane的東西。
這邊我們就做⼀個簡單的Demo
他最後他會在Fastlane下輸出報告結果,會在這邊建⽴⼀個test-report的資料夾,並且在裡⾯會有測試結果的html及junit檔,在
Jenkins上⾯因為是Java的環境,所以只能夠使⽤junit的檔案,這間我們只需要在Jenkins上做⼀些設定,就能夠將Jenkins串接起來。
… 2,678,400 sec
Ci system part ii

More Related Content

What's hot

Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuFramgia Vietnam
 
TYPO3 Surf Introduction
TYPO3 Surf IntroductionTYPO3 Surf Introduction
TYPO3 Surf IntroductionHelmut Hummel
 
Kinect Workshop Part 1/2
Kinect Workshop Part 1/2Kinect Workshop Part 1/2
Kinect Workshop Part 1/2Seiya Konno
 
Setting up and open fidy dev environment
Setting up and open fidy dev environmentSetting up and open fidy dev environment
Setting up and open fidy dev environmentianibbo
 
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・MobyAkihiro Suda
 
How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7AniketGoyal14
 
Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!Levente Kurusa
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with DockerAnton Egorov
 
sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)Jérémy Vial
 
sfdx continuous Integration with Jenkins on aws (Part II)
sfdx continuous Integration with Jenkins on aws (Part II)sfdx continuous Integration with Jenkins on aws (Part II)
sfdx continuous Integration with Jenkins on aws (Part II)Jérémy Vial
 
Exploring Docker in CI/CD
Exploring Docker in CI/CDExploring Docker in CI/CD
Exploring Docker in CI/CDHenry Huang
 
Testing the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianTesting the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianVirtual JBoss User Group
 
Hooking Docker With Selenium
Hooking Docker With SeleniumHooking Docker With Selenium
Hooking Docker With SeleniumSujith Vakathanam
 
Submitting and Reviewing changes lab guide
Submitting and Reviewing changes lab guideSubmitting and Reviewing changes lab guide
Submitting and Reviewing changes lab guideopenstackcisco
 
Kyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSDKyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSDCraig Rodrigues
 
Exploiting XPC in AntiVirus
Exploiting XPC in AntiVirusExploiting XPC in AntiVirus
Exploiting XPC in AntiVirusCsaba Fitzl
 
Deploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerDeploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerSander van der Burg
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & DockerIndicThreads
 

What's hot (20)

Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh Vu
 
TYPO3 Surf Introduction
TYPO3 Surf IntroductionTYPO3 Surf Introduction
TYPO3 Surf Introduction
 
Cocoa pods
Cocoa podsCocoa pods
Cocoa pods
 
Kinect Workshop Part 1/2
Kinect Workshop Part 1/2Kinect Workshop Part 1/2
Kinect Workshop Part 1/2
 
Setting up and open fidy dev environment
Setting up and open fidy dev environmentSetting up and open fidy dev environment
Setting up and open fidy dev environment
 
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
 
How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7
 
Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with Docker
 
sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)
 
sfdx continuous Integration with Jenkins on aws (Part II)
sfdx continuous Integration with Jenkins on aws (Part II)sfdx continuous Integration with Jenkins on aws (Part II)
sfdx continuous Integration with Jenkins on aws (Part II)
 
Exploring Docker in CI/CD
Exploring Docker in CI/CDExploring Docker in CI/CD
Exploring Docker in CI/CD
 
Testing the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianTesting the Enterprise layers, with Arquillian
Testing the Enterprise layers, with Arquillian
 
Rump : iOS patch diffing
Rump : iOS patch diffingRump : iOS patch diffing
Rump : iOS patch diffing
 
Hooking Docker With Selenium
Hooking Docker With SeleniumHooking Docker With Selenium
Hooking Docker With Selenium
 
Submitting and Reviewing changes lab guide
Submitting and Reviewing changes lab guideSubmitting and Reviewing changes lab guide
Submitting and Reviewing changes lab guide
 
Kyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSDKyua and Jenkins: Testing Framework for BSD
Kyua and Jenkins: Testing Framework for BSD
 
Exploiting XPC in AntiVirus
Exploiting XPC in AntiVirusExploiting XPC in AntiVirus
Exploiting XPC in AntiVirus
 
Deploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerDeploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package manager
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 

Viewers also liked

Tom Hamilton Resume 2015
Tom Hamilton Resume 2015Tom Hamilton Resume 2015
Tom Hamilton Resume 2015Tom Hamilton
 
Vocabulary
VocabularyVocabulary
Vocabularykarancs1
 
Witty, Justin AOC 2012 Energy Goals and Actions at UHM
Witty, Justin AOC 2012 Energy Goals and Actions at UHMWitty, Justin AOC 2012 Energy Goals and Actions at UHM
Witty, Justin AOC 2012 Energy Goals and Actions at UHMJustin Witty
 
Modulo 1 controle social
Modulo 1 controle socialModulo 1 controle social
Modulo 1 controle socialKekinha Souza
 
Lemus Wuillians EJERCICIOS ANALISIS NUMERICO
Lemus Wuillians EJERCICIOS ANALISIS NUMERICOLemus Wuillians EJERCICIOS ANALISIS NUMERICO
Lemus Wuillians EJERCICIOS ANALISIS NUMERICOOscar Irigoyen
 
Yolo powerpoint sweg
Yolo powerpoint swegYolo powerpoint sweg
Yolo powerpoint swegyolobanda123
 
OHRM: How to apply (Eng)
OHRM: How to apply (Eng)OHRM: How to apply (Eng)
OHRM: How to apply (Eng)United Nations
 
15 Tips for Citrix Synergy First Timers
15 Tips for Citrix Synergy First Timers15 Tips for Citrix Synergy First Timers
15 Tips for Citrix Synergy First TimersCitrix
 
Coleen Vogel - An inconvenient truth - the Hell Niño in south africa
Coleen Vogel - An inconvenient truth - the Hell Niño in south africaColeen Vogel - An inconvenient truth - the Hell Niño in south africa
Coleen Vogel - An inconvenient truth - the Hell Niño in south africaSTEPS Centre
 
It's Not About Technology (pdf with Notes)
It's Not About Technology (pdf with Notes)It's Not About Technology (pdf with Notes)
It's Not About Technology (pdf with Notes)Tim O'Reilly
 

Viewers also liked (15)

Tom Hamilton Resume 2015
Tom Hamilton Resume 2015Tom Hamilton Resume 2015
Tom Hamilton Resume 2015
 
Vocabulary
VocabularyVocabulary
Vocabulary
 
lavern_cv[1] (1)
lavern_cv[1] (1)lavern_cv[1] (1)
lavern_cv[1] (1)
 
Witty, Justin AOC 2012 Energy Goals and Actions at UHM
Witty, Justin AOC 2012 Energy Goals and Actions at UHMWitty, Justin AOC 2012 Energy Goals and Actions at UHM
Witty, Justin AOC 2012 Energy Goals and Actions at UHM
 
CV MJW
CV MJWCV MJW
CV MJW
 
Modulo 1 controle social
Modulo 1 controle socialModulo 1 controle social
Modulo 1 controle social
 
2015 Bateman Book
2015 Bateman Book2015 Bateman Book
2015 Bateman Book
 
Lemus Wuillians EJERCICIOS ANALISIS NUMERICO
Lemus Wuillians EJERCICIOS ANALISIS NUMERICOLemus Wuillians EJERCICIOS ANALISIS NUMERICO
Lemus Wuillians EJERCICIOS ANALISIS NUMERICO
 
Accessibility Presentation Q4 franchise forum Linda Jones Dec 2015
Accessibility Presentation Q4 franchise forum Linda Jones Dec 2015Accessibility Presentation Q4 franchise forum Linda Jones Dec 2015
Accessibility Presentation Q4 franchise forum Linda Jones Dec 2015
 
Yolo powerpoint sweg
Yolo powerpoint swegYolo powerpoint sweg
Yolo powerpoint sweg
 
OHRM: How to apply (Eng)
OHRM: How to apply (Eng)OHRM: How to apply (Eng)
OHRM: How to apply (Eng)
 
15 Tips for Citrix Synergy First Timers
15 Tips for Citrix Synergy First Timers15 Tips for Citrix Synergy First Timers
15 Tips for Citrix Synergy First Timers
 
Coleen Vogel - An inconvenient truth - the Hell Niño in south africa
Coleen Vogel - An inconvenient truth - the Hell Niño in south africaColeen Vogel - An inconvenient truth - the Hell Niño in south africa
Coleen Vogel - An inconvenient truth - the Hell Niño in south africa
 
Mighty Guides- Data Disruption
Mighty Guides- Data DisruptionMighty Guides- Data Disruption
Mighty Guides- Data Disruption
 
It's Not About Technology (pdf with Notes)
It's Not About Technology (pdf with Notes)It's Not About Technology (pdf with Notes)
It's Not About Technology (pdf with Notes)
 

Similar to Ci system part ii

The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTreeThe Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTreeRedBlackTree
 
NASA Space Apps
NASA Space AppsNASA Space Apps
NASA Space AppsJoe Kutner
 
Prizm Installation Guide
Prizm Installation GuidePrizm Installation Guide
Prizm Installation Guidevjvarenya
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conferenceIsaac Murchie
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev ConferenceIsaac Murchie
 
Vipul divyanshu documentation on Kinect and Motion Tracking
Vipul divyanshu documentation  on Kinect and Motion TrackingVipul divyanshu documentation  on Kinect and Motion Tracking
Vipul divyanshu documentation on Kinect and Motion TrackingVipul Divyanshu
 
Appium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanAppium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanApplitools
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)danielputerman
 
Deploy your app with one Slack command
Deploy your app with one Slack commandDeploy your app with one Slack command
Deploy your app with one Slack commandFabio Milano
 
Continous Integration for iOS Projects
Continous Integration for iOS ProjectsContinous Integration for iOS Projects
Continous Integration for iOS ProjectsCiprian Redinciuc
 
PhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsPhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsTechAhead
 
XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS) Par Jean-...
XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS)  Par Jean-...XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS)  Par Jean-...
XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS) Par Jean-...Publicis Sapient Engineering
 
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Mike Qin
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guideSudhanshu Chauhan
 
Connect.Tech- Level Up Your Game With TravisCI
Connect.Tech- Level Up Your Game With TravisCIConnect.Tech- Level Up Your Game With TravisCI
Connect.Tech- Level Up Your Game With TravisCIstable|kernel
 

Similar to Ci system part ii (20)

The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTreeThe Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
 
Appium on mac platform
Appium on mac platformAppium on mac platform
Appium on mac platform
 
NASA Space Apps
NASA Space AppsNASA Space Apps
NASA Space Apps
 
Prizm Installation Guide
Prizm Installation GuidePrizm Installation Guide
Prizm Installation Guide
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conference
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev Conference
 
Django Deployment
Django DeploymentDjango Deployment
Django Deployment
 
Vipul divyanshu documentation on Kinect and Motion Tracking
Vipul divyanshu documentation  on Kinect and Motion TrackingVipul divyanshu documentation  on Kinect and Motion Tracking
Vipul divyanshu documentation on Kinect and Motion Tracking
 
Appium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanAppium Overview - by Daniel Puterman
Appium Overview - by Daniel Puterman
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
Deploy your app with one Slack command
Deploy your app with one Slack commandDeploy your app with one Slack command
Deploy your app with one Slack command
 
Continous Integration for iOS Projects
Continous Integration for iOS ProjectsContinous Integration for iOS Projects
Continous Integration for iOS Projects
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
 
Flask
FlaskFlask
Flask
 
PhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsPhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native Components
 
InitiateAEv2.pdf
InitiateAEv2.pdfInitiateAEv2.pdf
InitiateAEv2.pdf
 
XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS) Par Jean-...
XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS)  Par Jean-...XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS)  Par Jean-...
XebiCon'16 : Fastlane : Automatisez votre vie (de développeur iOS) Par Jean-...
 
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guide
 
Connect.Tech- Level Up Your Game With TravisCI
Connect.Tech- Level Up Your Game With TravisCIConnect.Tech- Level Up Your Game With TravisCI
Connect.Tech- Level Up Your Game With TravisCI
 

Recently uploaded

Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 

Recently uploaded (20)

Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 

Ci system part ii

  • 3. , 1. - Fastlane 2. - Fastlane 3. - Fastlane 4. - Jenkins Fastlane
  • 5. - Fastlane (I) FASTLANE FASTLANE FASTLANE CocoaPods xctool
  • 6. - Fastlane (II) •deliver MetaData App AppStore •snapshot App •frameit iphone/ipad •pem Push Notification •sigh provisioning •produce App iTunes Connect Developer •cert iOS •gym App ipa •scan App UI Testing Unit Testing iOS
  • 8. - Fastlane (I) 由於Fastlane是採⽤Ruby去寫的,所以在你的OS需要有Ruby 2.0.0以上的版本,如果沒有的話可以⽤下列去安裝 (好⽤的brew install⼯具) brew install ruby-install ruby-install -i /usr/local/bin ruby 2.1.0 然後再檢查⾃⼰電腦的Xcode command line tool是否為最新的版本 xcode-select --install 以上是為了要將環境準備好,如果上⾯有任⼀個沒有完成的話,程式就不會作動。
  • 9. - Fastlane (II) Fastlane Fastlane sudo gem install fastlane —verbose 可能在這過程中會出問題(如果是iOS 10.10的話),可以先使⽤下列指令(出處) sudo gem install nokogiri -v '1.6.6.2' -- --use-system-libraries --with- xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib
  • 11. - Fastlane(I) ⾸先,我們就在專案上⾯加上Fastlane吧,因此我們需要到⽬標專案的.xcodeproj fastlane fastlane install 接著他會問你⼀⼤串問題 1. [15:04:18]: Detected iOS/Mac project in current directory...
 [15:04:18]: This setup will help you get up and running in no time.
 [15:04:18]: First, it will move the config files from `deliver` and `snapshot`
 [15:04:18]: into the subfolder `fastlane`.
 [15:04:18]: fastlane will check what tools you're already using and set up
 [15:04:18]: the tool automatically for you. Have fun!
 Do you have everything commited in version control? If not please do so now!(y/n)
 (是否要⽤commited控制版本︖) 2. Created new folder './fastlane'.[15:04:31]: ------------------------------
 [15:04:31]: To not re-enter your username and app identifier every time you run one of the fastlane tools or fastlane, these will be stored from now on.
 App Identifier (com.krausefx.app):
 (輸入App的Bundle ID)
  • 12. - Fastlane(II) 3. Your Apple ID (fastlane@krausefx.com):
 (輸入Developer Apple ID) [15:06:27]: Created new file './fastlane/Appfile'. Edit it to manage your preferred app metadata information.
 Do you want to setup 'deliver', which is used to upload app screenshots, appmetadata and app updates to the App Store? This requires the app to be in the AppStore already. (y/n)
 (是否要上傳至AppStore,這邊我選n) Do you want to setup 'snapshot', which will help you to automatically take
 screenshots of your iOS app in all languages/devices? (y/n)
 (如果y他會開始loading截圖的⼀些檔案) 6. Open your Xcode project and make sure to do the following:1) Add the ./SnapshotHelper.swift to your UI Test target   You can move the file anywhere you want2) Call `setLanguage(app)` when launching your app
 
   let app = XCUIApplication()
   setLanguage(app)
   app.launch()
 
 3) Add `snapshot("0Launch")` to wherever you want to create the screenshotsMore information on GitHub: https:// github.com/krausefx/snapshotDo you want to use 'sigh', which will maintain and download the provisioningprofile for your app? (y/n)
 If y) Optional: The scheme name of your app (If you don't need one, just hit
 Enter): 7.   Do you want to enable crash reporting? (y/n) (是否要 Crash ,這邊我選y) 這些問題都回答完後他就會在你的⽬錄下新增⼀個Fastlane的資料夾
  • 14. - Jenkins Fastlane(I) 在這邊我們來介紹⼀下Fastlane 裡⾯有個叫Gym的!其實他裡⾯也是利⽤xcodeBuild來做Build的事情,但是他可以⽤比較簡單的指令就能完成我 們所要做的事情,以下我會列出我比較常加入的參數進去: 1. gym --help / -h               gym 2. gym --project/-p             xcodeproj ex: -p "Enoch.xcodeproj" 3.     --scheme/-s                Scheme ex: -s "ENOCH" 4.     --configuration/-q        configuration(Release/Debug) ex: -q "Release" 5.     --sdk/-k                 Build( /iphoneos) ex: -k iphoneos 6.   --codesigning_identity/-i code signing identity ex:-i "iPhone Distribution: FAR" 7.     --clean/-c                 Build clean 8.     --output_name/-n          output ipa ex:-n “CWName” ipa gym -p “Enoch.xcodeproj" -s “ENOCH" -q “Release" -k iphoneos -i "iPhone Distribution: FC” -n “CWName” -c gym
  • 15. - Jenkins Fastlane(II) 來介紹⼀下Fastlane 裡⾯有個叫Scan的,他其實就是幫我們Run測試的部分,在使⽤他的時候他會幫我們開啟模擬器來跑我們的⼀ 些 Unit Test、UI Testing的測試,並且他會將我們的測試報告輸出。 我在我的Github上⾯有放⼀個Sample的UnitTesting專案:https://github.com/ChenWeiLee/Sample-UnitTesting,裡⾯我已經加好 Fastlane的東西。 這邊我們就做⼀個簡單的Demo 他最後他會在Fastlane下輸出報告結果,會在這邊建⽴⼀個test-report的資料夾,並且在裡⾯會有測試結果的html及junit檔,在 Jenkins上⾯因為是Java的環境,所以只能夠使⽤junit的檔案,這間我們只需要在Jenkins上做⼀些設定,就能夠將Jenkins串接起來。