使用GITLAB CI / CD将ASP.NET Core发布到IIS

时间:2019-01-24 09:37:52

标签: asp.net-core gitlab-ci

我可以通过在dotnet run脚本上使用.gitlab-ci.yml来运行Web应用程序。

stages:
    - build
build:
    stage: build
    before_script:
        - 'dotnet restore'
    script:
        - echo "Building the My Application"
        - "dotnet publish Eitms.Decoder.sln -c release"
        - "cd C:\\MyFolderContaints\\Eitms.Decoder.Backend"
        - "dotnet run"
    only:
        - release

但是我如何发布到IIS?有人可以显示该步骤吗?

谢谢

更新

HERE查看脚本后,仍然没有成功。我在这里做错了吗?

stages:
    - build    
    - deploy
build:
    stage: build
    before_script:
        - 'dotnet restore'
    script:
        - echo "Building the app"
        - "dotnet publish Eitms.Decoder.sln -c release"
    artifacts:
        untracked: true
    only:
        - release

deploy_staging:
    stage: deploy
    script:
        - echo "Deploy to IIS"
        - "dotnet publish Eitms.Decoder.Backend\\Eitms.Decoder.Backend.csproj -c release -o C:\\Secret Path\\PRODUCTION\\Secret Project"
    dependencies:
        - build
    only:
        - release

1 个答案:

答案 0 :(得分:1)

我不知道它是否仍然存在,而且我从未使用过 GitLab CI 但是查看提供的脚本,我认为您只需要在发布后将(使用 xcopy 等 CMD 命令)文件复制到 IIS 文件夹中 就像你想用 CMD .bat 文件做同样的事情

步骤

  1. 发布项目
  2. 停止应用程序池
  3. 复制文件
  4. 启动应用程序池

例如(只是举例)

 dotnet publish "Eitms.Decoder.Backend\\Eitms.Decoder.Backend.csproj" -c release -o "C:\\Secret Path\\PRODUCTION\\Secret Project"
 appcmd stop apppool /apppool.name:"Secret Project APP POOL"
 xcopy "C:\\Secret Path\\PRODUCTION\\Secret Project" "C:\\inetpub\\wwwroot\\Secret Project" /s /e
 appcmd start apppool /apppool.name:"Secret Project APP POOL"