2. Overview
What I see about Continiuous
Integration and Mandiri Apps
Development
01
What is Continuous Integration &
Development
02
Elements of Continuous Integration and
Development
03
Principles of Continuous Integration and
Development
3. Solution
Brief explanation how this CI/CD Works
01
What kind of technology that can be use
02
Demo how it works
03
What is the benefit of using CI/CD in
Development Environment
6. Elements for
Simple
Implementation
Stage from Code to Production Environment
Source Stage
When code push to repository will trigger
build stage to generate iPA/APK
Build Stage
Stage to create iPA/APK
Test Stage
Validate the correctness of our code
Deploy Stage
Ship iPA/APK to production environment
from our staging
7. Principles of
Continuous
Integration
Thing to know to make successful
production development
Architect the system in a way that supports
iterative releases
Always keep the code in a deployable state
Work in small iterations
If you build it, you run it
Anyone can build it
8. Solution
Using CI/CD from Jenkins and combine with Git to deliver
Application from Development Staging to Production
Staging.
9. Xcode & Android Studio (IDE) (Swift
Language)
using Xcode & Git as Version Control
TestingProduction
How it Works
Push to
Webhook implement
in bitbucket will
triggered jenkins
Jenkins will trigger Fastline
to build iPA/APK
Deliver toGood
Not Good or
New Enhancement
15. Important Step
Script in Jenkins
default_platform :ios
platform :ios do
desc "Description of what the lane does"
lane :custom_lane do
enable_automatic_code_signing(
path: "QRCodeReader.xcodeproj
)
automatic_code_signing(
path: "QRCodeReader.xcodeproj",
use_automatic_signing: true
)
build_ios_app(
clean: true,
configuration: "Debug",
scheme: "QRCodeReader",
output_directory: "~/Desktop",
export_method: "development",
output_name: "HasilWew.ipa"
)
end
end
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
fastlane custom_lane
Script in Fastlane
16. Important Step
pipeline{
agent any
stage{
stage('Build'){
steps{
echo "build iPA through Jenkins multi pipeline
}
}
stage('QA'){
steps{
echo "build iPA and then deliver to QA Tester"
}
}
stage('Deploy'){
steps{
echo "Deploy to Production"
}
}
}
}
Example Script in Jenkinsfile
17. Advantage
Why Mandiri Must Use CI/CD
Faster Mean Time To Resolution (MTTR)
One script to execute for deliver product
Reduce Human Error & Manual Error
Easy to track development activity
Easy Maintenance & Updates