Which Macos Should I Run For Xcode Average ratng: 7,2/10 5517 votes

How fast does your MacBook need to be to comfortably code iOS apps with Xcode? Is a MacBook Pro from 2-3 years ago good enough to learn Swift programming? Let’s find out!

Here’s what we’ll get into:

  • The minimum/recommended system requirements for Xcode 11
  • Why you need – or don’t need – a fancy $3.000 MacBook Pro
  • Which second-hand Macs can run Xcode OK, and how you can find out

Your app should look like what you see in the picture above. The white sign means that you can’t run it in macOS. Mac os catalina for macbook pro 2010. Compile an app. Before we start, you should have an app for armv7.

I’ve answered a lot of “Is my MacBook good enough for iOS development and/or Xcode?”-type questions on Quora. A few of the most popular models include:

  • Well you cannot directly run Xcode on Windows but if you are really desperate to try iOS Development, which I am assuming is why are you asking, there are a few options. Option 1: Run a macOS in a VM This options requires the least modification of.
  • Xcode 11 is available in the Mac App Store and includes SDKs for iOS 13, macOS Catalina 10.15, watchOS 6, and tvOS 13. Xcode 11 supports development for devices running iOS 13.1. Xcode 11 supports on-device debugging for iOS 8 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 11 requires a Mac running macOS Mojave 10.14.4 or later.
  • The 3rd- and 4th-gen MacBook Pro, with 2.4+ GHz Intel Core i5, i7, i9 CPUs
  • The 2nd-gen MacBook Air, with the 1.4+ GHz Intel Core i5 CPUs
  • The 4th-generation iMac, with the 2.7+ GHz Intel Core i5 and i7 CPUs

These models aren’t the latest, that’s for sure. Are they good enough to code iOS apps? And what about learning how to code? We’ll find out in this article.

My Almost-Unbreakable 2013 MacBook Air

Since 2009 I’ve coded more than 50 apps for iOS, Android and the mobile web. Most of those apps, including all apps I’ve created between 2013 and 2018, were built on a 13″ MacBook Air with 8 GB of RAM and a 1.3 GHz Intel i5 CPU.

My first MacBook was the gorgeous, then-new MacBook White unibody (2009), which I traded in for a faster but heavier MacBook Pro (2011), which I traded in for that nimble workhorse, the mighty MacBook Air (2013). In 2018 I upgraded to a tricked out 13″ MacBook Pro, with much better specs.

Frankly, that MacBook Air from 2013 felt more sturdy and capable than my current MacBook Pro. After 5 years of daily intenstive use, the MacBook Air’s battery is only through 50% of its max. cycle count. It’s still going strong after 7 hours on battery power.

In 2014, my trusty MacBook Air broke down on a beach in Thailand, 3 hours before a client deadline, with the next Apple Store 500 kilometer away. It turned out OK, of course. Guess what? My current MacBook Pro from 2018, its keyboard doesn’t even work OK, I’ve had sound recording glitches, and occasionally the T2 causes a kernel panic. Like many of us, I wish we had 2013-2015 MacBook Air’s and Pro’s with today’s specs. Oh, well…

Learn how to build iOS apps

Get started with iOS 13 and Swift 5

Sign up for my iOS development course, and learn how to build great iOS 13 apps with Swift 5 and Xcode 11.

That 100 Mhz i486 PC I Learned to Code With

When I was about 11 years old I taught myself to code in BASIC, on a 100 Mhz i486 PC that was given to me by friends. It had a luxurious 16 MB of RAM, initially only ran MS-DOS, and later ran Windows 3.1 and ’95.

A next upgrade came as a 400 Mhz AMD desktop, given again by friends, on which I ran a local EasyPHP webserver that I used to learn web development with PHP, MySQL and HTML/CSS. I coded a mod for Wolfenstein 3D on that machine, too.

We had no broadband internet at home back then, so I would download and print out coding tutorials at school. At the one library computer that had internet access, and I completed the tutorials at home. The source codes of turn-based web games, JavaScript tidbits and HTML page snippets were carried around on a 3.5″ floppy disk.

Later, when I started coding professionally around age 17, I finally bought my first laptop. My own! I still remember how happy I was. I got my first gig as a freelance coder: creating a PHP script that would aggregate RSS feeds, for which I earned about a hundred bucks. Those were the days!

Xcode, iOS, Swift and The MacBook Pro

The world is different today. Xcode simply doesn’t run on an i486 PC, and you can’t save your app’s source code on a 1.44 MB floppy disk anymore. Your Mac probably doesn’t have a CD drive, and you store your Swift code in a cloud-based Git repository somewhere.

Make no mistake: owning a MacBook is a luxury. Not because learning to code was harder 15 years ago, and not because computers were slower back then. It’s because kids these days learn Python programming on a $25 Raspberry Pi.

I recently had a conversation with a young aspiring coder, who complained he had no access to “decent” coding tutorials and mentoring, despite owning a MacBook Pro and having access to the internet. Among other things, I wrote the following:

You’re competing with a world of people that are smarter than you, and have better resources. You’re also competing against coders that have had it worse than you. They didn’t win despite adversity, but because of it. Do you give up? NO! You work harder. It’s the only thing you can do: work harder than the next person. When their conviction is wavering, you dig in your heels, you keep going, you persevere, and you’ll win.

Winning in this sense isn’t like winning a race, of course. You’re not competing with anyone else; you’re only really up against yourself. If you want to learn how to code, don’t dawdle over choosing a $3.000 or a $2.900 laptop. If anything, it’ll keep you from developing the grit you need to learn coding.

Great ideas can change the world, but only if they’re accompanied by deliberate action. Likewise, simply complaining about adversity isn’t going to create opportunities for growth – unless you take action. I leapfrogged my way from one hand-me-down computer to the next. I’m not saying you should too, but I do want to underscore how it helped me develop character.

If you want to learn how to code, welcome adversity. Be excellent because of it, or despite it, and never give up. Start coding today! Don’t wait until you’ve got all your ducks in a row.

Which MacBook is Fast Enough for Xcode 11?

The recommended system specs to run Xcode 11 are:

  • A Mac with macOS Catalina (10.15.2) for Xcode 11.5 or macOS Mojave (10.14.4) for Xcode 11.0 (see alternatives for PC here)
  • At least an Intel i5- or i7-equivalent CPU, so about 2.0 GHz should be enough
  • At least 8 GB of RAM, but 16 GB lets you run more apps at the same time
  • At least 256 GB disk storage, although 512 GB is more comfortable
  • You’ll need about 8 GB of disk space, but Xcode’s intermediate files can take up to 10-30 GB of extra disk space

Looking for a second-hand Mac? The following models should be fast enough for Xcode, but YMMV!

  • 4th-generation MacBook Pro (2016)
  • 3rd-generation Mac Mini (2014)
  • 2nd-generation MacBook Air (2017)
  • 5th-generation iMac (2015)

When you’re looking for a Mac or MacBook to purchase, make sure it runs the latest version of macOS. Xcode versions you can run are tied to macOS versions your hardware runs, and iOS versions you can build for are tied to Xcode versions. See how that works? This is especially true for SwiftUI, which is iOS 13.0 and up only. Make sure you can run the latest!

Pro tip: You can often find the latest macOS version a device model supports on their Wikipedia page (see above links, scroll down to Supported macOS releases). You can then cross-reference that with Xcode’s minimum OS requirements (see here, scroll to min macOS to run), and see which iOS versions you’ll be able to run.

Further Reading

Awesome! We’ve discussed what you need to run Xcode on your Mac. You might not need as much as you think you do. Likewise, it’s smart to invest in a future-proof development machine.

Whatever you do, don’t ever think you need an expensive computer to learn how to code. Maybe the one thing you really want to invest in is frustration tolerance. You can make do, without the luxury of a MacBook Pro. A hand-me-down i486 is enough. Or… is it?

Want to learn more? Check out these resources:

Learn how to build iOS apps

Get started with iOS 13 and Swift 5

Sign up for my iOS development course, and learn how to build great iOS 13 apps with Swift 5 and Xcode 11.

-->

Azure Pipelines Azure DevOps Server 2019 TFS 2018 TFS 2017 TFS 2015

Note

In Microsoft Team Foundation Server (TFS) 2018 and previous versions,build and release pipelines are called definitions,runs are called builds,service connections are called service endpoints,stages are called environments,and jobs are called phases.

To build and deploy Xcode apps or Xamarin.iOS projects, you'll need at least one macOS agent. This agent can also build and deploy Java and Android apps.

Before you begin:

  • If your pipelines are in Azure Pipelines and a Microsoft-hosted agent meets your needs, you can skip setting up a self-hosted macOS agent.
  • Otherwise, you've come to the right place to set up an agent on macOS. Continue to the next section.

Learn about agents

If you already know what an agent is and how it works, feel free to jump right in to the following sections. But if you'd like some more background about what they do and how they work, see Azure Pipelines agents.

Check prerequisites

Run

Make sure your machine has these prerequisites:

  • macOS Sierra (10.12) or higher
  • Git 2.9.0 or higher (latest version strongly recommended - you can easily install with Homebrew)

These prereqs are required for agent version 2.125.0 and higher.

These prereqs are required for agent version 2.124.0 and below.If you're able, we recommend upgrading to a newer macOS (10.12+) and upgrading to the newest agent.

Make sure your machine has these prerequisites:

  • OS X Yosemite (10.10), El Capitan (10.11), or macOS Sierra (10.12)
  • Git 2.9.0 or higher (latest version strongly recommended)
  • Meets all prereqs for .NET Core 1.x

If you'll be using TFVC, you will also need the Oracle Java JDK 1.6 or higher.(The Oracle JRE and OpenJDK are not sufficient for this purpose.)

Prepare permissions

If you're building from a Subversion repo, you must install the Subversion client on the machine.

You should run agent setup manually the first time.After you get a feel for how agents work, or if you want to automate setting up many agents, consider using unattended config.

Decide which user you'll use

As a one-time step, you must register the agent. Someone with permission toadminister the agent queuemust complete these steps. The agent will not use this person'scredentials in everyday operation, but they're required to complete registration.Learn more about how agents communicate.

  1. Sign in with the user account you plan to use in your Team Foundation Server web portal (https://{your-server}:8080/tfs/).
  1. Sign in with the user account you plan to use in you Azure DevOps Server web portal (https://{your-server}/DefaultCollection/).
  1. Sign in with the user account you plan to use in your Azure DevOps organization (https://dev.azure.com/{your_organization}).
  1. From your home page, open your profile. Go to your security details.

  2. Create a personal access token.

  3. For the scope select Agent Pools (read, manage) and make sure all the other boxes are cleared.If it's a deployment group agent, for the scope select Deployment group (read, manage) and make sure all the other boxes are cleared.

    Select Show all scopes at the bottom of the Create a new personal access token window window to see the complete list of scopes.

  4. Copy the token. You'll use this token when you configure the agent.

Authenticate as a Windows user (TFS 2015 and TFS 2017)

As an alternative, on TFS 2017, you can use either a domain user or alocal Windows user on each of your TFS application tiers.

On TFS 2015, for macOS and Linux only,we recommend that you create a local Windows user on each of your TFS application tiers and dedicate that user for the purpose of deploying build agents.

Confirm the user has permission

Make sure the user account that you're going to use has permission to register the agent.

Is the user an Azure DevOps organization owner or TFS or Azure DevOps Server administrator? Stop here, you have permission.

Otherwise:

  1. Open a browser and navigate to the Agent pools tab for your Azure Pipelines organization or Azure DevOps Server or TFS server:

    1. Choose Azure DevOps, Organization settings.

    2. Choose Agent pools.

    1. Choose Azure DevOps, Collection settings.

    2. Choose Agent pools.

    1. Navigate to your project and choose Settings (gear icon) > Agent Queues.

    2. Choose Manage pools.

    1. Navigate to your project and choose Settings (gear icon) > Agent Queues.

    2. Choose Manage pools.

    1. Navigate to your project and choose Manage project (gear icon).

    2. Choose Control panel.

    3. Select Agent pools.

  2. Click the pool on the left side of the page and then click Security.

  3. If the user account you're going to use is not shown, then get an administrator to add it. The administrator can be an agent pool administrator, an Azure DevOps organization owner, or a TFS or Azure DevOps Server administrator.

    If it's a deployment group agent, the administrator can be an deployment group administrator, an [Azure DevOps organization owner, or a TFS or Azure DevOps Server administrator.

    You can add a user to the deployment group administrator role in the Security tab on the Deployment Groups page in Azure Pipelines.

Note

If you see a message like this: Sorry, we couldn't add the identity. Please try a different identity., you probably followed the above steps for an organization owner or TFS or Azure DevOps Server administrator. You don't need to do anything; you already have permission to administer the agent queue.

Download and configure the agent

Azure Pipelines

  1. Log on to the machine using the account for which you've prepared permissions as explained above.

  2. In your web browser, sign in to Azure Pipelines, and navigate to the Agent pools tab:

    1. Choose Azure DevOps, Organization settings.

    2. Choose Agent pools.

  3. Select the Default pool, select the Agents tab, and choose New agent.

  4. On the Get the agent dialog box, click macOS.

  5. Click the Download button.

  6. Follow the instructions on the page.

  7. Clear the extended attribute on the tar file: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

  8. Unpack the agent into the directory of your choice. cd to that directory and run ./config.sh. Make sure that the path to the directory contains no spaces because tools and scripts don't always properly escape spaces.

Azure DevOps Server 2019

  1. Log on to the machine using the account for which you've prepared permissions as explained above.

  2. In your web browser, sign in to Azure DevOps Server 2019, and navigate to the Agent pools tab:

    1. Choose Azure DevOps, Collection settings.

    2. Choose Agent pools.

  3. Click Download agent.

  4. On the Get agent dialog box, click macOS.

  5. Click the Download button.

  6. Follow the instructions on the page.

  7. Clear the extended attribute on the tar file: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

  8. Unpack the agent into the directory of your choice. cd to that directory and run ./config.sh. Make sure that the path to the directory contains no spaces because tools and scripts don't always properly escape spaces.

TFS 2017 and TFS 2018

  1. Log on to the machine using the account for which you've prepared permissions as explained above.

  2. In your web browser, sign in to Azure Pipelines or TFS, and navigate to the Agent pools tab:

    1. Navigate to your project and choose Settings (gear icon) > Agent Queues.

    2. Choose Manage pools.

  3. Click Download agent.

  4. On the Get agent dialog box, click macOS.

  5. Click the Download button.

  6. Follow the instructions on the page.

  7. Clear the extended attribute on the tar file: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

  8. Unpack the agent into the directory of your choice. cd to that directory and run ./config.sh. Make sure that the path to the directory contains no spaces because tools and scripts don't always properly escape spaces.

TFS 2015

  1. Browse to the latest release on GitHub.

  2. Follow the instructions on that page to download the agent.

  3. Configure the agent.

Server URL

Azure Pipelines: https://dev.azure.com/{your-organization}

TFS 2015: http://{your_server}:8080/tfs

Authentication type

Azure Pipelines

Choose PAT, and then paste the PAT token you created into the command prompt window.

Note

When using PAT as the authentication method, the PAT token is used only for the initial configuration of the agent. Learn more at Communication with Azure Pipelines or TFS.

TFS or Azure DevOps Server

Important

Make sure your server is configured to support the authentication method you want to use.

When you configure your agent to connect to TFS, you've got the following options:

  • Alternate Connect to TFS or Azure DevOps Server using Basic authentication. After you select Alternate you'll be prompted for your credentials.

  • Integrated Not supported on macOS or Linux.

  • Negotiate (Default) Connect to TFS or Azure DevOps Server as a user other than the signed-in user via a Windows authentication scheme such as NTLM or Kerberos. After you select Negotiate you'll be prompted for credentials.

  • PAT Supported only on Azure Pipelines and TFS 2017 and newer. After you choose PAT, paste the PAT token you created into the command prompt window. Use a personal access token (PAT) if your Azure DevOps Server or TFS instance and the agent machine are not in a trusted domain. PAT authentication is handled by your Azure DevOps Server or TFS instance instead of the domain controller.

Note

When using PAT as the authentication method, the PAT token is used only for the initial configuration of the agent on Azure DevOps Server and the newer versions of TFS. Learn more at Communication with Azure Pipelines or TFS.

Run interactively

For guidance on whether to run the agent in interactive mode or as a service, see Agents: Interactive vs. service.

To run the agent interactively:

  1. If you have been running the agent as a service, uninstall the service.

  2. Run the agent.

To restart the agent, press Ctrl+C and then run run.sh to restart it.

To use your agent, run a job using the agent's pool.If you didn't choose a different pool, your agent will be in the Default pool.

Run once

For agents configured to run interactively, you can choose to have the agent accept only one job. To run in this configuration:

Agents in this mode will accept only one job and then spin down gracefully (useful for running on a service like Azure Container Instances).

Run as a launchd service

We provide the ./svc.sh script for you to run and manage your agent as a launchd LaunchAgent service. This script will be generated after you configure the agent. The service has access to the UI to run your UI tests.

Note

If you prefer other approaches, you can use whatever kind of service mechanism you prefer. See Service files.

Tokens

In the section below, these tokens are replaced:

  • {agent-name}

  • {tfs-name}

For example, you have configured an agent (see above) with the name our-osx-agent. In the following examples, {tfs-name} will be either:

  • Azure Pipelines: the name of your organization. For example if you connect to https://dev.azure.com/fabrikam, then the service name would be vsts.agent.fabrikam.our-osx-agent

  • TFS: the name of your on-premises TFS AT server. For example if you connect to http://our-server:8080/tfs, then the service name would be vsts.agent.our-server.our-osx-agent

Commands

Change to the agent directory

For example, if you installed in the myagent subfolder of your home directory:

Install

Command:

This command creates a launchd plist that points to ./runsvc.sh. This script sets up the environment (more details below) and starts the agent's host.

Start

Command:

Output:

The left number is the pid if the service is running. If second number is not zero, then a problem occurred.

Status

Command:

Which Macos Should I Run For Xcode 2

Output:

The left number is the pid if the service is running. If second number is not zero, then a problem occurred.

Stop

Command:

Output:

Uninstall

You should stop before you uninstall.

Command:

Automatic login and lock

Normally, the agent service runs only after the user logs in. If you want the agent service to automatically start when the machine restarts, you can configure the machine to automatically log in and lock on startup. See Set your Mac to automatically log in during startup - Apple Support.

Note

For more information, see the Terminally Geeky: use automatic login more securely blog. The .plist file mentioned in that blog may no longer be available at the source, but a copy can be found here: Lifehacker - Make OS X load your desktop before you log in.

Update environment variables

When you configure the service, it takes a snapshot of some useful environment variables for your current logon user such as PATH, LANG, JAVA_HOME, ANT_HOME, and MYSQL_PATH. If you need to update the variables (for example, after installing some new software):

The snapshot of the environment variables is stored in .env file under agent root directory, you can also change that file directly to apply environment variable changes.

Run instructions before the service starts

You can also run your own instructions and commands to run when the service starts. For example, you could set up the environment or call scripts.

  1. Edit runsvc.sh.

  2. Replace the following line with your instructions:

Service Files

When you install the service, some service files are put in place.

.plist service file

A .plist service file is created:

For example:

sudo ./svc.sh install generates this file from this template: ./bin/vsts.agent.plist.template

.service file

./svc.sh start finds the service by reading the .service file, which contains the path to the plist service file described above.

Alternative service mechanisms

We provide the ./svc.sh script as a convenient way for you to run and manage your agent as a launchd LaunchAgent service. But you can use whatever kind of service mechanism you prefer.

You can use the template described above as to facilitate generating other kinds of service files. For example, you modify the template to generate a service that runs as a launch daemon if you don't need UI tests and don't want to configure automatic log on and lock. See Apple Developer Library: Creating Launch Daemons and Agents.

Jun 16, 2020  If you're using one of these computers with OS X Mavericks or later,. you can install macOS Catalina.Your Mac also needs at least 4GB of memory and 12.5GB of available storage space, or up to 18.5GB of storage space when upgrading from OS X Yosemite or earlier. MacBook introduced in 2015 or later MacBook Air introduced in 2012 or later MacBook Pro introduced in 2012 or later. May 27, 2020  The question now is if Apple will release a small tweak to Catalina, bring out a 10.15.6 update ager WWDC, or simply push the fix into MacOS 10.16 later this year. Pushing The Update. Do i need to update to macos catalina for support. Jun 23, 2020  macOS Catalina 10.15.5 introduces battery health management in the Energy Saver settings for notebooks, a new option to disable automatic prominence in Group FaceTime calls, and controls to fine-tune the built-in calibration of your Pro Display XDR. The update also improves the stability, reliability, and security of your Mac.

Replace an agent

To replace an agent, follow the Download and configure the agent steps again.

When you configure an agent using the same name as an agent that already exists,you're asked if you want to replace the existing agent. If you answer Y,then make sure you remove the agent (see below) that you're replacing. Otherwise,after a few minutes of conflicts, one of the agents will shut down.

Remove and re-configure an agent

To remove the agent:

  1. Stop and uninstall the service as explained above.

  2. Remove the agent.

  3. Enter your credentials.

After you've removed the agent, you can configure it again.

Unattended config

The agent can be set up from a script with no human intervention.You must pass --unattended and the answers to all questions.

To configure an agent, it must know the URL to your organization or collection and credentials of someone authorized to set up agents.All other responses are optional.Any command-line parameter can be specified using an environment variable instead:put its name in upper case and prepend VSTS_AGENT_INPUT_.For example, VSTS_AGENT_INPUT_PASSWORD instead of specifying --password.

Required options

  • --unattended - agent setup will not prompt for information, and all settings must be provided on the command line
  • --url <url> - URL of the server. For example: https://dev.azure.com/myorganization or http://my-azure-devops-server:8080/tfs
  • --auth <type> - authentication type. Valid values are:
    • pat (Personal access token)
    • negotiate (Kerberos or NTLM)
    • alt (Basic authentication)
    • integrated (Windows default credentials)

Authentication options

  • If you chose --auth pat:
    • --token <token> - specifies your personal access token
  • If you chose --auth negotiate or --auth alt:
    • --userName <userName> - specifies a Windows username in the format domainuserName or userName@domain.com
    • --password <password> - specifies a password

Pool and agent names

  • --pool <pool> - pool name for the agent to join
  • --agent <agent> - agent name
  • --replace - replace the agent in a pool. If another agent is listening by the same name, it will start failing with a conflict

Agent setup

  • --work <workDirectory> - work directory where job data is stored. Defaults to _work under theroot of the agent directory. The work directory is owned by a givenagent and should not share between multiple agents.
  • --acceptTeeEula - accept the Team Explorer Everywhere End User License Agreement (macOS and Linux only)

Windows-only startup

  • --runAsService - configure the agent to run as a Windows service (requires administrator permission)
  • --runAsAutoLogon - configure auto-logon and run the agent on startup (requires administrator permission)
  • --windowsLogonAccount <account> - used with --runAsService or --runAsAutoLogon to specify the Windows username in the format domainuserName or userName@domain.com
  • --windowsLogonPassword <password> - used with --runAsService or --runAsAutoLogon to specify Windows logon password
  • --overwriteAutoLogon - used with --runAsAutoLogon to overwrite the existing auto logon on the machine
  • --noRestart - used with --runAsAutoLogon to stop the host from restarting after agent configuration completes

Deployment group only

  • --deploymentGroup - configure the agent as a deployment group agent
  • --deploymentGroupName <name> - used with --deploymentGroup to specify the deployment group for the agent to join
  • --projectName <name> - used with --deploymentGroup to set the project name
  • --addDeploymentGroupTags - used with --deploymentGroup to indicate that deployment group tags should be added
  • --deploymentGroupTags <tags> - used with --addDeploymentGroupTags to specify the comma separated list of tags forthe deployment group agent - for example 'web, db'

./config.sh --help always lists the latest required and optional responses.

Diagnostics

If you're having trouble with your self-hosted agent, you can try running diagnostics.After configuring the agent:

This will run through a diagnostic suite that may help you troubleshoot the problem.The diagnostics feature is available starting with agent version 2.165.0.

Help on other options

To learn about other options:

The help provides information on authentication alternatives and unattended configuration.

Capabilities

Your agent's capabilities are cataloged and advertised in the pool so that only the builds and releases it can handle are assigned to it. See Build and release agent capabilities.

In many cases, after you deploy an agent, you'll need to install software or utilities. Generally you should install on your agents whatever software and tools you use on your development machine.

For example, if your build includes the npm task, then the build won't run unless there's a build agent in the pool that has npm installed.

Important

After you install new software on an agent, you must restart the agent for the new capability to show up in the pool so that the build can run.

FAQ

Which Macos Should I Run For Xcode 10

How do I make sure I have the latest v2 agent version?

  1. Navigate to the Agent pools tab:

    1. Choose Azure DevOps, Organization settings.

    2. Choose Agent pools.

    1. Choose Azure DevOps, Collection settings.

    2. Choose Agent pools.

    1. Navigate to your project and choose Settings (gear icon) > Agent Queues.

    2. Choose Manage pools.

    1. Navigate to your project and choose Settings (gear icon) > Agent Queues.

    2. Choose Manage pools.

    1. Navigate to your project and choose Manage project (gear icon).

    2. Choose Control panel.

    3. Select Agent pools.

  2. Click the pool that contains the agent.

  3. Make sure the agent is enabled.

  4. Navigate to the capabilities tab:

    1. From the Agent pools tab, select the desired agent pool.

    2. Select Agents and choose the desired agent.

    3. Choose the Capabilities tab.

      Note

      Microsoft-hosted agents don't display system capabilities. For a list of software installed on Microsoft-hosted agents, see Use a Microsoft-hosted agent.

    1. From the Agent pools tab, select the desired pool.

    2. Select Agents and choose the desired agent.

    3. Choose the Capabilities tab.

    Select the desired agent, and choose the Capabilities tab.

    Select the desired agent, and choose the Capabilities tab.

    From the Agent pools tab, select the desired agent, and choose the Capabilities tab.

  5. Look for the Agent.Version capability. You can check this value against the latest published agent version. See Azure Pipelines Agent and check the page for the highest version number listed.

  6. Each agent automatically updates itself when it runs a task that requires a newer version of the agent. If you want to manually update some agents, right-click the pool, and select Update all agents.

Can I update my v2 agents that are part of an Azure DevOps Server pool?

Yes.Beginning with Azure DevOps Server 2019, you can configure your server to look for the agent package files on a local disk.This configuration will override the default version that came with the server at the time of its release.This scenario also applies when the server doesn't have access to the internet.

  1. From a computer with Internet access, download the latest version of the agent package files (in .zip or .tar.gz form) from the Azure Pipelines Agent GitHub Releases page.

  2. Transfer the downloaded package files to each Azure DevOps Server Application Tier by using a method of your choice (such as USB drive, Network transfer, and so on). Place the agent files under the %ProgramData%MicrosoftAzure DevOpsAgents folder.

  3. You're all set! Your Azure DevOps Server will now use the local files whenever the agents are updated. Each agent automatically updates itself when it runs a task that requires a newer version of the agent. But if you want to manually update some agents, right-click the pool, and then choose Update all agents.

Where can I learn more about how the launchd service works?

I'm running a firewall and my code is in Azure Repos. What URLs does the agent need to communicate with?

If you're running an agent in a secure network behind a firewall, make sure the agent can initiate communication with the following URLs and IP addresses.

For organizations using the *.visualstudio.com domain:

For organizations using the dev.azure.com domain:

To ensure your organization works with any existing firewall or IP restrictions, ensure that dev.azure.com and *dev.azure.com are open and update your allow-listed IPs to include the following IP addresses, based on your IP version. If you're currently allow-listing the 13.107.6.183 and 13.107.9.183 IP addresses, leave them in place, as you don't need to remove them.

IPv4 ranges

Which Macos Should I Run For Xcode
  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6 ranges

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

How do I run the agent with self-signed certificate?

How do I run the agent behind a web proxy?

How do I restart the agent

If you are running the agent interactively, see the restart instructions in Run interactively. If you are running the agent as a service, follow the steps to Stop and then Start the agent.

How do I configure the agent to bypass a web proxy and connect to Azure Pipelines?

If you want the agent to bypass your proxy and connect to Azure Pipelines directly, then you should configure your web proxy to enable the agent to access the following URLs.

For organizations using the *.visualstudio.com domain:

For organizations using the dev.azure.com domain:

To ensure your organization works with any existing firewall or IP restrictions, ensure that dev.azure.com and *dev.azure.com are open and update your allow-listed IPs to include the following IP addresses, based on your IP version. If you're currently allow-listing the 13.107.6.183 and 13.107.9.183 IP addresses, leave them in place, as you don't need to remove them.

IPv4 ranges

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6 ranges

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Note

This procedure enables the agent to bypass a web proxy. Your build pipeline and scripts must still handle bypassing your web proxy for each task and tool you run in your build.

For example, if you are using a NuGet task, you must configure your web proxy to support bypassing the URL for the server that hosts the NuGet feed you're using.

I'm using TFS and the URLs in the sections above don't work for me. Where can I get help?

I use TFS on-premises and I don't see some of these features. Why not?

Some of these features are available only onAzure Pipelinesand not yet available on-premises. Some features are available on-premises if you haveupgraded to the latest version of TFS.