<span>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 disc
Beginning DevOps on AWS for iOS Development: Xcode, Jenkins, and Fastlane Integration on the Cloud
â Scribed by Abdullahi Olaoye
- Publisher
- Apress
- Year
- 2022
- Tongue
- English
- Leaves
- 383
- Category
- Library
No coin nor oath required. For personal study only.
⌠Synopsis
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!
What You'll Learn
- 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
âiOS application developers wanting to incorporate DevOps and Cloud Architecture into their development process.
⌠Table of Contents
Table of Contents
About the Author
About the Technical Reviewer
Chapter 1: Basics of iOS Application Development
Development Requirements
Mac
Apple Developer Account
Swift
Introduction to Xcode
Installing Xcode 12
Creating an Application
iOS Application Template
Xcode Live Preview
Developing with Swift
Adding App Icon
Building an Application
Building on a Physical iPhone
Building on an iOS Simulator
Xcode Command Line Tool
Summary
Chapter 2: From Xcode to App Store Connect
Identifiers
App Store Connect
Screenshot and App Details
Uploading Build from Xcode
Testing and Publishing
TestFlight
App Submission
Summary
Chapter 3: DevOps on Amazon Web Services (AWS)
Continuous Integration on AWS
AWS CodeCommit
Benefits of Using AWS CodeCommit
Creating a CodeCommit Repository
AWS CodeBuild
Creating a CodeBuild Project
AWS CodeArtifact
Creating a CodeArtifact Repository
Continuous Delivery on AWS
AWS CodeDeploy
AWS CodePipeline
Creating a CICD Pipeline with AWS CodePipeline
Infrastructure As Code
AWS CloudFormation
AWS Cloud Development Kit (CDK)
AWS CDK Installation
Deploying Infrastructure with CDK
Monitoring and Logging
Amazon CloudWatch
CloudWatch Metrics
CloudWatch Logs
CloudWatch Alarms
AWS CloudTrail
Summary
Chapter 4: macOS Server on AWS
Amazon EC2 Mac Server
EC2 Limits and Pricing
Deploying Amazon EC2 Mac Server
Deploying with AWS Management Console
Deploying with AWS CLI
Deploying with AWS CloudFormation
Deploying with Terraform
Connecting to the Amazon EC2 Mac Server
Connecting with SSH
Command Terminal on Linux or Windows
Putty on Windows
Connecting with VNC Client
Setting Up Login Password
Setting Up Apple Remote Desktop
Setting Up SSH Port Forwarding
Downloading VNC Client and Connect
Monitoring EC2 Mac Server with Amazon CloudWatch
Cleaning Up Amazon EC2 Mac Server
Summary
Chapter 5: Setting Up Development Tools on macOS Instance
Increasing macOS Instance Volume Size
Setting Up Xcode
Xcode Command Line Tools
Setting Up Jenkins
Provisioning Jenkins Controller
EC2 Mac Instance As Jenkins Build Agent
Setting Up Fastlane
Setting Up GitLab
Creating GitLab Project
Setting Up macOS GitLab Runner
Summary
Chapter 6: Source Control Management with AWS CodeCommit
Git Fundamentals
Git Installation
Initializing a Git Repository
Recording Changes to Git Repository
Cloning and Working with Remote Git Repositories
Git Branch
Pull Requests
Creating an AWS CodeCommit Repository
Creating with AWS Command Line Interface (CLI)
Creating with AWS CloudFormation
Creating with Terraform
Creating with Python Boto3 SDK
Adding Source Code in AWS CodeCommit
Connecting to a CodeCommit Repository
HTTPS
SSH
Git Remote CodeCommit (GRC)
Pushing Code to CodeCommit Repository
Migrating Git Repository to AWS CodeCommit
Branching in AWS CodeCommit
Creating Branch on AWS Console
Creating Branch with Git
Creating Branch with AWS CLI
Updating Local Repository
Configuring Default Branch
Pull Requests in AWS CodeCommit
Creating a Pull Request
AWS Console
AWS CLI
Merging Pull Request
AWS Console
AWS CLI
Creating Approval Rule Template
AWS Console
AWS CLI
Pull Request with Approval Rule Template
Amazon CodeGuru Reviewer Integration
Associating CodeGuru Reviewer
Reviewing a Pull Request
Summary
Chapter 7: Integrating AWS CodeCommit with Jenkins
Jenkins CodeCommit Plugin
Setting Up Integration Components
Setting Up Components via AWS Console
Creating SQS Queue
Creating SNS Topic and Subscribing SQS Queue
Setting Up SQS Queue Permission
Testing SQS and SNS Integration
Configuring CodeCommit Repository Trigger
Setting Up Components via Terraform
Configuring Plugin
Creating Jenkins Job with AWS CodeCommit Source
Testing AWS CodeCommit Plugin
Summary
Chapter 8: Automated Build, Test, and Release with Fastlane
Setting Up Code Signing with Fastlane match and Amazon S3
Initializing Fastlane match
Storing Certificates and Keys in Amazon S3
Storing match Secrets and Parameters in AWS Secrets Manager
Setting Up Jenkins Environment
Setting Up and Verifying Xcode Installation
Verifying Fastlane Installation
Setting Up AWS CLI
Installing JSON Query Language (jq)
Automating Test and Build with Fastlane
Adding Lane to Fastfile
Configuring Jenkins Project
Triggering Jenkins Project
Automating Release to App Store Connect
Setting Up App Store Connect API Key
Storing Secrets in AWS Secret Manager
TestFlight Release
Adding TestFlight Lane to Fastfile
Configuring Jenkins Project
Triggering Jenkins Project
Automating Release to the App Store
Adding an App Store Lane to Fastfile
Configuring Jenkins Project
Triggering Jenkins Project
Summary
Chapter 9: Testing with AWS Device Farm
Introduction to AWS Device Farm
Generating ipa Package for App Testing
Setting Up a Device Farm Project and Scheduling Test Runs
Scheduling Test Runs with AWS Console
Running Built-In Fuzz Test
Running XCTest UI Test
Generating Test Bundle for XCTest UI
Uploading Application and Test package
Creating a Custom Device Pool
Running a Test
Scheduling Test Runs with AWS CLI
AWS Device Farm Jenkins Plugin
Installing Plugin
Configuring Plugin
Automating AWS Device Farm Tests with Jenkins
Configuring Jenkins Project
Triggering Jenkins Project
Summary
Chapter 10: Continuous Delivery Pipelines for iOS App Development
Jenkins Pipeline
Fastlane Test Stage
AWS Device Farm Test Stage
Fastlane Build Stage
Fastlane Deliver Stage
AWS CodePipeline
Setting Up Jenkins Environment for AWS CodePipeline
Setting Up macOS Build Server
Setting Up Xcode and Keychain Access
Setting Up EC2 IAM Role
Installing AWS CodePipeline Jenkins Plugin
Setting Up CodePipeline on AWS Console
Fastlane Testing with AWS CodePipeline and Jenkins
Configuring Jenkins Project to Test App
Adding Custom Stage to CodePipeline
AWS Device Farm Integration
Configuring Jenkins Project to Build App for Testing
Setting Up AWS Device Farm
Adding Device Farm Stage to Pipeline
Summary
Index
đ SIMILAR VOLUMES
<span>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 disc
Beginning iOS Cloud and Database Development gets you started with building apps that use Apples iCloud. Youll learn the techniques which will enable you to devise and create iOS apps that can interact with iCloud servers. From the basics up, youll progressively learn how to configure your app for i
<p><em>Beginning iOS Cloud and Database Development</em> gets you started with building apps that use Apple's iCloud. You'll learn the techniques which will enable you to devise and create iOS apps that can interact with iCloud servers. From the basics up, you'll progressively learn how to configure
Key Features ⢠Work through practical examples and gain DevOps best practices to successfully deploy applications on AWS ⢠Successfully provision and operate distributed application systems and your AWS infrastructure using DevOps ⢠Perform Continuous Integration and deployment and fine-tune the