【问题标题】:TeamCity Azure Resource Manager Template: Missing MSBuildTeamCity Azure 资源管理器模板:缺少 MSBuild
【发布时间】:2018-05-14 13:33:33
【问题描述】:

我正在使用 Azure Resource Manager Template 在同一 Linux CoreOS Azure VM 上生成带有代理的 Azure TeamCity 服务器。所有工具都可用于构建 .NET Core 项目,但对于 Xamarin 项目,我需要在盒子上启用 Visual Studio 构建工具。

按照http://www.mono-project.com/download/vs/#download-lin 上的说明,我尝试通过 SSH 连接到 VM 来登录代理,然后运行:

docker exec -it [container id] bash
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu vs-xenial main" | tee /etc/apt/sources.list.d/mono-official-vs.list
apt update
apt install mono-devel #Also apt-install mono-complete

但是,即使在重新启动 TeamCity VM 后,仍有一个未满足的要求,列为“Mono4.5_x86 存在”。

在代理上安装 Mono 有效;但是,每次我重新启动代理时,都会删除安装。

如何在构建代理上安装 Mono,以便在我重新启动代理时它仍然存在?

【问题讨论】:

    标签: azure teamcity azure-resource-manager


    【解决方案1】:

    这需要很长时间才能解决,但我最终设法找到了解决方案。

    默认情况下,TeamCity 的 Azure 资源管理器在其 Docker 映像中不包含 Mono。您可以在 Docker 映像上安装 Mono,但是一旦重新启动代理,更改就不会保留。

    您必须按照https://hub.docker.com/r/jetbrains/teamcity-agent/ 中的说明对其进行自定义。

    首先创建一个新图像:

    docker run -it -e SERVER_URL="http://<my-teamcity-server>.westeurope.cloudapp.azure.com" -v /mnt/data/teamcity-mono-agent:/data/teamcity_agent/conf --name="teamcity-mono-agent" jetbrains/teamcity-agent 
    

    然后使用启动代理

    docker start teamcity-mono-agent
    

    在代理中启动一个 bash 会话

    docker exec -it teamcity-mono-agent bash
    

    然后在 bash 终端中,使用原始问题中的指令序列安装 Mono。 (您可能需要检查容器中运行的 Linux 版本,并相应地修改这些步骤。Mono 网站上有详细说明。)

    安装 Mono 后,输入 mono 检查安装,然后退出 bash 会话。

    提交图片使用

    docker commit teamcity-mono-agent mono-agent
    

    然后重启代理:

    docker restart teamcity-mono-agent
    

    在您的 TeamCity 项目中,转到构建步骤并从下拉列表中选择“MSBuild”。 MSBuild 版本选择“Mono xBuild 4.5”,MSBuild Tools 版本选择“4.0”,平台选择 x64。

    您的新代理现在应该能够选择需要 Mono 的构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多