Chapter 1: Overview of DevOps and Continuous Deployment
• What is DevOps
• Principles of DevOps
• Continuous Integration
• Continuous Deployment
Chapter 2: Overview of iOS application development
• iOS development environment
• Building with Xcode
• Automation with fastlane
Chapter 3: Core Amazon Web Services (AWS) Concepts
• What is Cloud Computing and AWS
• Introduction to Core AWS Services
• The value proposition of AWS
Chapter 4: DevOps on AWS
• Continuous Integration
• Continuous Delivery
• Microservices
• Infrastructure as Code
• Monitoring and Logging
Chapter 5: Amazon EC2 Mac Build Server
• iOS development at scale without EC2 Mac build server
• Deploying EC2 Mac Server
• Connecting to your EC2 Mac Server
• Monitoring for EC2 macOS
• Other Cloud-based Mac build server Offerings
Chapter 6: Setup Development tools on the Build server
• Apple developer Command-line tools
• Setting up Xcode
• Setting up Jenkins
• Setting up Fastlane
Chapter 7: Source Control with AWS Code Commit
• Git fundamentals
• Creating an AWS CodeCommit repository
• Approval Rules in AWS CodeCommit
• Security in AWS CodeCommit
• Monitoring an AWS CodeCommit Repository
Chapter 8: Automated build with Jenkins
• Introduction to Jenkins Plugins
• Jenkins git Plugin
• Integrate an AWS CodeCommit Repository with Jenkins
• iOS application build on Jenkins
• Managing build artifacts
Chapter 9: Automated Testing with AWS Device Farm
• Introduction to AWS Device Farm
• Setting up a Device Farm Project and Test Runs
• Integrate Device Farm with Jenkins
• Automating AWS Device Farm
Chapter 10: Automated Deployment
• Integrate Jenkins and Fastlane for Continuous Integration
• Automate Code Signing
• Automate Appstore deployments
Chapter 11 - Pipeline Orchestration with AWS CodePipeline
• Creating a CICD Pipeline with AWS CodePipeline
• Integrating AWS CodeCommit to Pipeline
• Integrating Jenkins to Pipeline for Building
• Integrate AWS Device Farm to Pipeline for Testing
• Adding an automated Deployment stage
• Monitoring AWS CodePipeline
Chapter 12 – Multi AWS Environment Pipeline Deployment
• Why need a Cross-Account Pipeline Deployment
• Prerequisites of a Cross-Account Pipeline
• Creating a Pipeline with AWS CodeCommit in a different account
• Creating a Pipeline with AWS Device Farm in a different account
Audience: Beginning
Abdullahi Olaoye works at Amazon Web Services (AWS) as a Cloud Architect where he is a technical leader and specializes in DevOps and Cloud Architecture. He obtained a Master of Science in Computer Networking from Wichita State University, Kansas, USA and a Bachelor of Engineering from All Nations University, Ghana. As a DevOps and Cloud expert, he works at the forefront of Cloud innovations by assisting Enterprises of different scale in designing, building scalable IT solutions that solves business challenges and in running their workloads on AWS Cloud by helping automate deployments and providing architectural guidance following best practices.
Abdullahi has authored and contributed to numerous technical AWS public content such as AWS Blog posts, whitepaper and AWS Prescriptive guidance covering topics from Continuous deployment at scale to general architecture patterns.
He is very passionate about Cloud Computing, and he holds Seven AWS Certifications which include the AWS Certified Solutions Architect Professional and AWS Certified DevOps Engineer Professional. He is also a Google Cloud Certified Associate Cloud Engineer. In his spare time, he enjoys listening to history podcasts and traveling. You can follow him on LinkedIn and Github at https://github.com/abdulola
Apply the principles of DevOps in software development—automated builds, automated tests, and continuous deployment and delivery—to iOS application development on Amazon Web Services (AWS) cloud. This book provides detailed walkthroughs and example source code is provided for the concepts discussed so you can put theory into practical application.
You'll start by building a basic iOS application and then dive deep into key AWS Developer tools and services to see how they can be used in iOS application development. Then review the details of the integration of these fully managed AWS services with open-source tools such as Jenkins and Fastlane that allow developers to get the best of both worlds and further help to enhance and increase agility in the development lifecycle of iOS apps.
You'll also investigate the Amazon EC2 Mac instance, which allows you to run XCode in a cloud environment for the first time to leverage the flexibility, elasticity, and scale of AWS. It also allows for seamless integration of XCode with fully managed AWS Services from source code control to application deployment. Finally, the book covers how a fully managed Continuous Integration Continuous Deployment (CICD) pipeline can be used to orchestrate all the different components of iOS application development to achieve a fully automated development lifecycle.
Get started building your iOS applications using a fully automated process on the AWS Cloud today!
You will:
Build an iOS application using AWS DevOps tools
Incorporate continuous deployment in your iOS application development
Integrate AWS tooling with Xcode and open source tools such as Jenkins and Fastlane