Master CI/CD for iOS Developers
What you'll learn
- Apply complete CI/CD flows in their app development process.
- Use GitHub to trigger code checks and app distribution to users.
- Use App Center to automate checks and protect important branches.
- Leverage App Center to automatically create builds on every merge.
- Automate the distribution of a new build to beta testers.
- A full list of other features are on this page.
Requirements
- The course does not require any previous CI/CD or DevOps experience
- Some basic Git & GitHub experience is desirable
- While this is a CI/CD course, it is oriented to iOS developers, so some basic iOS development experience is required.
Description
What you will learn in this course?
In this course, you will learn the fundamentals of CI/CD which is short for Continuous Integration/Continuous Delivery and be able to apply these fundamentals in your iOS app development process.
The word Deployment is often used in place of Delivery but effectively means the same thing.
These skills are essential to maximize your career potential in 2019 and beyond, because more and more companies are adopting these development practices requiring new employees or freelancers to be well versed in these concepts.
What is Continuous Integration (CI) ?
CI is the practice of merging all programmers current working copies to a shared mainline on a regular basis (usually several times a day).
A developer checks out a working copy of the code base prior to making a change. Over time as other developers check out and make changes, this checked out working copy of the source code base gets out of date, potentially requiring more and more work by developers to actually check their completed changes back in to the main repository.
Without using CI it can become really difficult to merge all these changes and can lead to it taking more time to merge changes back into the main source code base than it took to make the the change itself.
CI seeks to eliminate this problem by making sure all developers integrate early and often with the goal to reduce rework and ultimately save cost and time. This involves all developers merging their code back into the main repository multiple times a day.
An added bonus is that each programmer who is merging changes needs to build and run (and pass) all unit tests which usually run automatically meaning the code base is easier to work with and merge changes into and is potentially more stable as a result.
What is Continuous Delivery or Deployment (CD) ?
This extends CI to ensure that new changes to software can be released to clients quicker, but in a more sustainable way. It takes the advantages of CI from a development perspective (automated testing, on code check-in, etc) allowing the actual code base to be built and new releases to be automatically released to the client, effectively meaning a new version can be deployed to the client by a click of a button.
CI/CD concepts.
By adhering to a CI/CD development process, the code base can be built and released more quickly, and is in a more stable state overall. These are some of the reasons why more and more companies are adopting a CI/CD development process in 2019 and beyond.
Key topics in this course.
1. Continuous Integration
2. Continuous Delivery
3. App Center
4. GitHub Pull Requests
5. Branch protection
6. UI Tests
7. App Diagnostics
8. App Analytics
What will you learn?
• Learn how to track errors and crashes in your apps.
• Learn how to track any event triggered within your apps.
• Apply complete CI/CD flows in your app development process.
• Use GitHub to trigger code checks and app distribution to users.
• Use App Center to automate checks and protect important branches.
• Leverage App Center to automatically create builds on every merge.
• Automate the distribution of a new build to beta testers.
• Automate the distribution of new releases to the Google app store.
• Focus on the development of features, leave the build and distribution to App Center.
• Improve teamwork with automatic builds and checks that improve the quality of your merges.
• Enable product discovery with the help of Analytics in the App Center.
• Test your app in a wide array of cloud-hosted physical devices.
Differences with other CI/CD courses.
While there are other CI/CD courses out there, most of them are too general. This course is completely tailored to iOS developers, this way you can immediately start applying what you learn in your app development process. Because of this, the course also covers topics not normally found on other CI/CD courses, such as UI Testing for iOS app development.
Who is the course aimed at?
The course does not require any previous CI/CD or DevOps experience, although some basic Git & GitHub experience is desirable.
While this is a CI/CD course, it is oriented to iOS app developers, so some basic iOS app development experience is required.
Getting started
If you are ready to get started, click on the Enroll or Add to Cart button on this page and start taking your CI/CD skills with
iOS to the next level.
Who this course is for:
- iOS developers looking to become skilled in the CI/CD process
Instructors
The Learn Programming Academy was created by Tim Buchalka, a software developer with 40 years experience, who is also an instructor on Udemy, with over 1.92M+ students in his courses on Java, Python, Android, C# and the Spring framework.
The Academy’s goal in the next three years, is to teach five million people to learn how to program.
Apart from Tim’s own courses, which are all available here, we are working with the very best teachers, creating courses to teach the essential skills required by developers, at all levels.
One other important philosophy is that our courses are taught by real professionals; software developers with real and substantial experience in the industry, who are also great teachers. All our instructors are experienced, software developers!
Our team is busy creating new courses right now.
Whether you are a beginner, looking to learn how to program for the very first time, or to brush up on your existing skills, or to learn new languages and frameworks, the Academy has you covered.
I am a Software Engineer and Xamarin-Certified Mobile Developer.
I have been developing mobile apps for 7 years now, I started when iOS 5 had just been released!
During this years I have created apps for clients, both for private use and for public use. I have created some apps that I wanted to release to the app stores, and have created a lot of apps just for fun. The main platform I use is Xamarin, so I can code Android, Windows, iOS and macOS apps using my favorite language: C#.
I have helped literally thousands of students to learn how to code, both online and in-person, and it has become my passion.
I also love to design apps, whenever I get a little bit (or a lot) stressed when coding, I design apps, either out-of-the-blue concepts, or the next app that I have to code, or a design for a client.
I like to think of myself as an entrepreneur, I am the co-founder of a startup, AlphaBeta, focused on helping Mexicans to adopt digital technologies in their lives, so they become more efficient, and live better lives.
In AlphaBeta I have learned (and taught) how to use tools like Google Classroom, Power BI (super popular with SMEs) and Adobe Experience Design, and some of those courses, have been brought here as well.
My students usually say that I know how to make difficult subjects easy to understand and that I help them learn in the best way possible: by doing.