CI/CD Impact
for Mandiri
Apps
Development
Bintang Thunder - ODP 162
1895701720 - Software Engineer
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
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
What is
Continuous
Integration &
Development
Activity that helps you automate steps in your software delivery
process, from code builds until stage production.
HOW IT WORKS
Simple Integration
SOURCE BUILD TEST DEPLOY
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
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
Solution
Using CI/CD from Jenkins and combine with Git to deliver
Application from Development Staging to Production
Staging.
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
DEMO
Fastlane Execute Log
Jenkins Multi Pipeline
Jenkins Build Logs
Jenkins Build Logs
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
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
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
Thank You
(021) 52997777
bintang.rolintua@bankmandiri.co.id
bmri.id

CI CD Jenkins for Swift Deployment

  • 1.
    CI/CD Impact for Mandiri Apps Development BintangThunder - ODP 162 1895701720 - Software Engineer
  • 2.
    Overview What I seeabout 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 howthis 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
  • 4.
    What is Continuous Integration & Development Activitythat helps you automate steps in your software delivery process, from code builds until stage production.
  • 5.
    HOW IT WORKS SimpleIntegration SOURCE BUILD TEST DEPLOY
  • 6.
    Elements for Simple Implementation Stage fromCode 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 toknow 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 fromJenkins and combine with Git to deliver Application from Development Staging to Production Staging.
  • 9.
    Xcode & AndroidStudio (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
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
    Important Step Script inJenkins 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 MustUse 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
  • 18.