استعدادًا لبدء الدورة التدريبية "iOS Developer. Basic" ، قمنا تقليديًا بإعداد ترجمة ممتعة لك ، كما ندعوك للاشتراك في ندوة مجانية على الويب ، حيث سيخبرك خبراؤنا بالتفصيل عن برنامج الدورة التدريبية وأيضًا الإجابة على أسئلتك.
لا يمكن إنكار أن دمج تقنيات التكامل المستمر (CI) والتسليم المستمر (CD) في عملية التطوير هي الطريقة الوحيدة لتتبع أهمية تغييرات التعليمات البرمجية وتحديد أخطاء التكامل في المراحل المبكرة. إنه أيضًا المسار إلى البنيات التي تم تصحيحها والتي تكون متاحة على الفور تقريبًا للاختبار وجاهزة لإرسالها إلى الإنتاج حتى بعد تغييرات التعليمات البرمجية المهمة.
CI/CD , : -, , , , -, , // , .
, , ? Jenkins Fastlane - , , .
, , Jenkins Fastlane CI . , .
Jenkins Fastlane
, CI , , Jenkins Fastlane . , Jenkins - , Java, . Jenkins (Pipelines), , (Jobs), , , , , , , . , (), Fastlane.
Fastlane - , (iOS Android), , , , . Fastlane , Lanes, , , Actions, , .
, , , - iOS- Testflight, (, , , , ) . , Testflight :
a)
b) ,
?.
, Jenkins Fastlane . , , . , Jenkins , Jenkins - Github . Github, Xcode, SCM (Source Control Management), , Github, Credentials Plugin , .
Jenkins. , Testflight.
Jenkins () => New Item (Pipeline) (Job) Jenkins “Upload to Testflight”.
Configure , . .
Definition , Pipeline «Pipeline Script from SCM». (SCM), Git-.
- , Testflight, github, github.
, , .
«Save» ! Jenkins. !
Scripted Pipeline. , (stages), , . Testflight, , . , :
Testflight
, , Build with Parameters , , , :
, Build, , Jenkins Stage view:
, Testflight!
, , , . Console Output , , , .
, MyScript.groovy, deploy(), :
1.
checkout SCM, , Jenkins Pipeline.
stage('Checkout') {
checkout scm
}2.
stage('Install dependencies') {
sh 'gem install bundler'
sh 'bundle update'
sh 'bundle exec pod repo update'
sh 'bundle exec pod install'
} CocoaPods, pod install, . - Bundler, Ruby. 2 , Bundler, Bundler , Gemfile . , , , Fastlane, , , Danger, ruby . pod repo update, pod', , , pod update, .
3.
stage('Reset Simulators') {
sh 'bundle exec fastlane snapshot resetsimulators --force'
}, , , , .
, Fastlane . , Fastlane Lanes , Fastfile. , , .
iOS-, , « » .
4.
stage('Run Tests') {
sh 'bundle exec fastlane test'
} . test , Fastfile, :
lane :test do
scan(
clean: true,
devices: ["iPhone X"],
workspace: "ourproject.xcworkspace",
scheme: "productionscheme",
codecoverage: true,
outputdirectory: "./testoutput",
outputtypes: "html,junit"
)
slather(
coberturaxml: true,
proj: "ourproject.xcodeproj",
workspace: "ourproject.xcworkspace",
outputdirectory: "./testoutput",
scheme: "productionscheme",
jenkins: true,
ignore: [arrayofdocstoignore]
)
end
Scan , workspace ( ), scheme (), codecoverage ( ) , , devices (), , .
Slather , , , , (ignore).
Fastlane- ✨. , Jenkins. , , , , .
, .