如何解决在Azure Devops Microsoft托管的生成服务器上安装依赖项的新版本
我的iOS Xamarin移动应用程序的azure构建管道存在问题。该问题要求单版本6.10.0在构建服务器上可用。当前,用于macOS 10.14的预安装映像仅包含Mono,版本最高为6.08。 macOS 10.15的映像确实包含正确版本的Mono,但是由于内部原因,我目前无法升级到10.15。
有没有一种方法可以在构建之前更新管道以安装新版本的Mono?还是我们完全限于图像中包含的软件?我正在使用Microsoft托管服务器。
解决方法
有没有一种方法可以在构建之前更新管道以安装新版本的Mono?
正如您所说, Microsoft托管代理:Macos-10.14 中不存在Mono版本6.10.0,但是您可以在Xamarin任务之前运行脚本以安装目标Mono。版本。
以下是管道示例:
steps:
- bash: |
#!/bin/bash
set -ex
MONO_MACOS_PKG_DOWNLOAD_URL='https://download.mono-project.com/archive/6.10.0/macos-10-universal/MonoFramework-MDK-6.10.0.49.macos10.xamarin.universal.pkg'
mkdir -p /tmp/mono-install
cd /tmp/mono-install
# debug: mono version before the install
mono --version
# download mono mac installer (pkg)
wget -q -O ./mono-installer.pkg "$MONO_MACOS_PKG_DOWNLOAD_URL"
# install it
sudo installer -pkg ./mono-installer.pkg -target /
# debug: mono version after install,just to confirm it did overwrite the original version
mono --version
# just for fun print this symlink too,which should point to the version we just installed
ls -alh /Library/Frameworks/Mono.framework/Versions/Current
displayName: 'Bash Script'
- script: |
mono -V
cat `which mcs`
displayName: 'Command Line Script'
这里a Blog是关于安装单声道的。
结果:
,Azure Pipelines托管代理是通用的构建和部署代理。因此,Microsoft不会添加一些可能会导致极端情况的软件的任意旧版本。
但是,您确实可以使用自制软件和其他工具,这些工具可以让您在代理上安装所需的软件。您还可以访问设置环境变量。这样您就可以安装所有需要的软件。
关于坚持使用macOS 10.14以及任何所需版本的Mono的要求。在某些时候,您必须意识到Microsoft提供的图像中的 none 都没有任何此软件。因此,如果必须具有此环境,请制作自己的托管macOS代理并将其添加到池中以运行类似的内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。