Docker内使用Mono编译发布ASP.Net应用

2021/11/4 17:10:05

本文主要是介绍Docker内使用Mono编译发布ASP.Net应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Docker内使用Mono编译发布ASP.Net应用


MSBuild 指令

dotnet不支持

MSBuild尝试了许多,只有以下方式能够正常生成publish文件

msbuild -p:Configuration=Release -p:OutputPath=/publish

该指令只适合vs tools中使用,且MSBuild版本为.Net framework

msbuild /p:DeployOnBuild=true /p:PublishProfile=DockerPublishProfile /p:OutDir=/builds/publish

配合gitlab-ci.yml 自动化发布

#image: mcr.microsoft.com/dotnet/sdk:latest
image : mono

cache:
  key: deploy-job
  paths:
    - packages # 缓存nuget包

stages:          
  - deploy

deploy-job:      
  stage: deploy  

  artifacts:
    paths:
      - bin/publish/_PublishedWebsites
  script:
    - echo "发布程序中..."
    - echo "恢复nuget包..."
    - nuget restore
    - echo "恢复nuget包完成"
    - echo "开始发布..."
#    - msbuild /p:DeployOnBuild=true /p:PublishProfile=DockerPublishProfile /p:OutDir=/builds/publish
    - msbuild -p:Configuration=Release -p:OutputPath=bin/publish # /builds/publish 会同步映射到d盘docker\gitlab-runner\publish内
    - echo "程序发布成功."
  tags:
    - PublishRunner

发布之后会生成_PublishedWebsites文件夹

再配合config.toml volumes映射



这篇关于Docker内使用Mono编译发布ASP.Net应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程