tag:help.appveyor.com,2012-11-13:/discussions/questions/43682-appveyor-byoc-parallels-desktop-supportAppVeyor: Discussion 2020-04-03T18:46:37Ztag:help.appveyor.com,2012-11-13:Comment/478282102019-11-11T21:00:53Z2019-11-11T21:05:00ZAppveyor BYOC: Parallels Desktop Support<div><p>Hi there,</p>
<p>I see that Parallels Desktop support has been included in a recent November release (<a href="https://github.com/appveyor/ci/issues/3141">appveyor-7.0.2546</a>), and I see in my new Appveyor Server installation allows me to select it as a build cloud.</p>
<p>However, beyond this I cant seem to find any documentation on its behaviour or how it works. Currently I have 2 Parallels Desktop VM's - macOS Catalina, Windows 10 which all contain the necessary build tools I need. I'd like to use these for CI tests/building/deployment of an Electron app, as a small test. My only other alternative is Travis which is rather expensive and locks me to GitHub, so a free self-hosted solution would be very useful.</p>
<p>My main question is how the Parallels BYOC feature actually works with Appveyor Server, and the ones below:</p>
<ol>
<li>Can Appveyor start and stop the Parallels VM's dynamically when a build job comes through? I don't want to leave multiple VM's running indefinitely waiting for jobs.<br></li>
<li>How would one register a Parallels VM image? (Surely I wouldn't need to install the CI into each VM?)<br></li>
<li>What would a minimal example <code>appveyor.yml</code> file look like which uses a Parallels VM as the environment?</li>
</ol>
<p>I would hope the Server can control the VMs as they're required, as Parallels does provide a CLI interface to control VMs (example: <code>prlctl start "macOS Catalina - CI"</code>)</p>
<p>Apologies if this is a very basic question, I just want to ensure I have the correct understanding! Thanks in advance</p></div>rs2308249789370450tag:help.appveyor.com,2012-11-13:Comment/478282102019-11-12T00:42:45Z2019-11-12T00:42:45ZAppveyor BYOC: Parallels Desktop Support<div><p>Here you are: <a href="https://www.appveyor.com/docs/byoc/parallels-desktop/">https://www.appveyor.com/docs/byoc/parallels-desktop/</a> - these are v1 docs for Parallels Desktop support. Give it a try and let us know what you think.</p>
<p>At the moment there is only macOS guests supported, but adding Windows guests won't be a problem - let me know if you have an interest/time to test that and we'll do a build for you.</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/478282102019-11-12T00:43:46Z2019-11-12T00:43:46ZAppveyor BYOC: Parallels Desktop Support<div><p>...and, absolutely, VMs are created on demand, from the snapshot, and deleted when the build is finished.</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/478282102019-11-15T00:11:42Z2019-11-15T00:12:02ZAppveyor BYOC: Parallels Desktop Support<div><p>Great to hear, thank you for the docs. I hope to make time this weekend to get this working!</p>
<p>Happy to help test out Windows support. I'd really like to have builds run on Windows 10 and MacOS VM's at the same time</p>
<p>Haven't had chance to look extensively at the documentation just yet, so one quick question whilst I'm here - is there any bare minimum <code>appveyor.yml</code> showing how the cloud is set to a Parallels image? Will help me hit the ground running</p></div>rs2308249789370450tag:help.appveyor.com,2012-11-13:Comment/478282102019-11-15T05:08:21Z2019-11-15T05:08:21ZAppveyor BYOC: Parallels Desktop Support<div><p>Do you mean that <a href="https://www.appveyor.com/docs/byoc/#routing-builds-to-your-cloud">https://www.appveyor.com/docs/byoc/#routing-builds-to-your-cloud</a>?</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/478282102019-11-27T04:51:28Z2019-11-27T04:51:28ZAppveyor BYOC: Parallels Desktop Support<div><p>Hi,</p>
<p>Sorry for not getting back to you, only just managed to set the time to get this working with Parallels.</p>
<p>Followed the instructions without issue for configuring a (MacOS) Parallels image. However, am a little unsure how to proceed with the documentation as its a little unclear in places following the installation of Packer and moving it to <code>/usr/local/bin/</code> for it to be recognised via PATH.</p>
<p>I've hit an issue at point 2 in the <a href="https://www.appveyor.com/docs/byoc/parallels-desktop/">docs</a>, hope I'm not being stupid!</p>
<blockquote>
<p>On host machine:</p>
<ol>
<li>Download Packer unpack it and copy packer executable to <code>/usr/local/bin</code> (or any other directory in your PATH variable): <code>cp packer /usr/local/bin/packer</code>.</li>
<li>Clone build-images repository: <code>git clone https://github.com/appveyor/build-images.git</code>, change directory to it and checkout <code>parallels</code> branch: <code>git checkout parallels</code></li>
<li>Unregister VM prepared earlier: <code>prlctl unregister <VMNAME></code></li>
<li>Locate VM’s folder, usually it’s <code>$HOME/Parallels/<VMNAME>.pvm</code>.</li>
</ol>
</blockquote>
<p>My questions:<br>
- Where am I cloning the <code>https://github.com/appveyor/build-images.git</code> repository to?<br>
- What is meant by "change directory to it"?<br>
- There is no <code>parallels</code> branch in this repository to checkout.</p></div>rs2308249789370450tag:help.appveyor.com,2012-11-13:Comment/478282102019-11-27T18:21:20Z2019-11-27T20:07:17ZAppveyor BYOC: Parallels Desktop Support<div><p>Hi,<br>
let me try to answer those questions.</p>
<ul>
<li>Those instructions are to be executed in terminal window. In phrase "change directory to it" we skipped word "current": "change current directory to it".</li>
<li>Packer comes in one standalone executable and it can be placed anywhere you like on a host machine. It does not matter for the next steps in the documentation until it can be found in PATH and executed on step 6.</li>
<li><code>parallels</code> branch has been merged into master <code>branch</code> and the doc was not updated.</li>
<li>You can clone build-images repository wherever you like. Usually, I clone it to Home directory. <code>git clone</code> creates a subfolder named after repository e.g. <code>build-images</code>. Change current directory to that subfolder since the rest of the instructions should be done from there.</li>
</ul>
<p>I have updated the doc to make it more clear and up to date.</p></div>Wasa Pleshakov