

- #Brew install fastlane command line tool manual#
- #Brew install fastlane command line tool software#
- #Brew install fastlane command line tool code#
#Brew install fastlane command line tool code#
Ansible allows us to write code to manage configurations and automated provisioning of the infrastructure in addition to deployment. Ansible tasks and playbooks are simple YAML files so there is no need to learn another programming language like Ruby to script an iOS infrastructure.
#Brew install fastlane command line tool manual#
The programmable infrastructure or infrastructure as code is key to Continuous Delivery so that we need to have a script to setup these things up automatically without manual intervention. Apple continuously release new or beta versions of Xcode and other developer tools so we should have the ability to quickly setup and use those features. It’s very important to have an ability to reset, rebuild iOS Continuous Integration Server environment whenever needed. We managed to automate almost everything mentioned above using Ansible.
#Brew install fastlane command line tool software#
This approach was time-consuming as well as it’s very difficult to manage versions of the software installed on the build server. This took almost a day or two to get build machine in the working state. It also involves setting build server as TeamCity Build Agent. An engineer has to manually download and install Xcode with additional components, install required homebrew packages, setup RVM and RubyGems. Previously, we used to manually setup CI or continuous integration server with all the required software for the delivery of an iOS app. In this post, we will see how we provisioned our CI server using Ansible. There were various options like Chef, Puppet etc but we bumped into Ansible because it is simple but powerful tools for infrastructure automation without the need to know any other language like Ruby. We need our iOS infrastructure to be driven by code a.k.an Infrastructure as code. We were looking for something like Docker for Darwin. We were losing trust on CI server and end up spending lots of time finding the root cause of the problems.Īt this stage, we really needed some configuration management tool which allows us to set up all the machines with the same configuration and should able to provision them from scratch.The versions of software on developer machine and CI server are different.Our build configuration steps are tightly coupled with GUI configuration in the TeamCity continuous integration server.The results produced on CI server are not reproducible on local developer machines.Manually setting up CI server machine with all iOS related software takes days of engineers.We came across following challenges while maintaining our continuous integration servers. Almost every engineer encountered this problem at least once. We also suffered from same issues mentioned in the post Works on My Machine. One of the most tricky obstacles to Continuous Delivery is the works-on-my-machine phenomenon. In the previous post, we have seen that how we used Fastlane for continuous deployment of iOS app from continuous integration server. This is the second part of my experience at Photobox Group dealing with Continuous Deployment of iOS apps.
