title: Uploading iOS .ipa file to testflight via Jenkins
body: <p>I might be late to the CI/CD party but better late than never. So far, I am able to setup Jenkins on a separate MAC which does not contain XCode. I use this MAC as a 24x7 small server for minor operations. A lot of time was wasted for archiving and then uploading that build to testflight for my iOS apps so I thought of setting up a CI/CD process.</p>
  
  <p>After the Jenkins setup, I am able to generate the .ipa file for specified target (release/debug).</p>
  
  <p>Now I want to upload this .ipa file to Testflight. This is what I know already:</p>
  
  <ol>
  <li><strong>Via ALTool:</strong> As per this <a href="https://stackoverflow.com/a/49384568/1364053">answer</a>, I should use AlTool. AlTool is nothing but the Application Loader inside XCode. I don't want to install XCode on this separate MAC, so this is not what I can work with.</li>
  <li><strong>Via shell script:</strong> If you see the question of the answer in the above point, the user has mentioned a script. I have tried that as well and it fails.</li>
  <li><strong>Via Shenzen:</strong> <a href="https://github.com/nomad/shenzhen" rel="nofollow noreferrer">This</a> is deprecated. On the Github page itself, they have mentioned to use Fastlane.</li>
  <li><strong>Via Testflight plugin:</strong> <a href="https://wiki.jenkins.io/display/JENKINS/Testflight+Plugin" rel="nofollow noreferrer">This</a> is also deprecated.</li>
  </ol>
  
  <p>So basically, what I feel is Jenkins alone itself can not distribute iOS builds to testflight, unless we use ALTool which requires XCode to be installed. Is there a workaround to do it purely via Jenkins?</p>