TeamCity vs Xcode: What are the differences?
What is TeamCity? TeamCity is an ultimate Continuous Integration tool for professionals. TeamCity is a user-friendly continuous integration (CI) server for professional developers, build engineers, and DevOps. It is trivial to setup and absolutely free for small teams and open source projects.
What is Xcode? The complete toolset for building great apps. The Xcode IDE is at the center of the Apple development experience. Tightly integrated with the Cocoa and Cocoa Touch frameworks, Xcode is an incredibly productive environment for building amazing apps for Mac, iPhone, and iPad.
TeamCity belongs to "Continuous Integration" category of the tech stack, while Xcode can be primarily classified under "Integrated Development Environment".
Some of the features offered by TeamCity are:
- Automate code analyzing, compiling, and testing processes, with having instant feedback on build progress, problems, and test failures, all in a simple, intuitive web-interface
- Simplified setup: create projects from just a VCS repository URL
- Run multiple builds and tests under different configurations and platforms simultaneously
On the other hand, Xcode provides the following key features:
- Source Editor
- Assistant Editor
- Asset Catalog
"Easy to configure" is the top reason why over 52 developers like TeamCity, while over 127 developers mention "IOS Development" as the leading cause for choosing Xcode.
Pinterest, Instacart, and Lyft are some of the popular companies that use Xcode, whereas TeamCity is used by Stack Exchange, ebay, and Apple. Xcode has a broader approval, being mentioned in 1051 company stacks & 603 developers stacks; compared to TeamCity, which is listed in 171 company stacks and 51 developer stacks.
What is TeamCity?
What is Xcode?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
TeamCity is our main continuous integration server. It starts creating builds and running tests based on commits that we make in our hosted bitbucket repositories. From there, we have a set of configuraitons that can deploy the built and tested artifacts (web app, batches, db, etc...) to a stage or production server. We still release manually, but we release often, and TeamCity has nice features to help us roll back when things don't work out as planned.
TeamCity builds then copies to each web tier via a powershell script. The steps for each server are:
- Tell HAProxy to take the server out of rotation via a POST
- Delay to let IIS finish current requests (~5 sec)
- Stop the website (via the same PSSession for all the following)
- Robocopy files
- Start the website
- Re-enable in HAProxy via another POST
Even though React Native takes care of most of the heavy lifting, there are still some cases where we need xcode. These cases include app icon integration, mobile deployments, loading screens, ect...
Xcode is our primary development platform for iOS applications, with a very fully featured set of dev tools for the platform. For everything else, there's Sublime Text 3.
Experience with Xcode in the context of iOS development. This includes Storyboards, Debugging tools and the Simulator.
QA and Testing have been so much easier with the help of its simulators on Apple Devices like; iPhones and iPads.
PrometheanTV provides SDKs for IOS devices and utilizes the XCode IDE for development and testing purposes.
I'm using a selfhosted TC as Referenceplatform, and use travis with another configuration.