2016-10-31 4 views
5

मैं एपवेयर एजेंट का उपयोग कर किसी सर्वर पर एक प्रोजेक्ट को तैनात करने की कोशिश कर रहा हूं। हालांकि, अगर मैं तैनाती से पहले एप्लिकेशन को पुनरारंभ या बंद नहीं करता हूं, तो यह काम नहीं करता है।AppVeyor के साथ एक .NET कोर एप्लिकेशन को तैनात करें: बाहरी प्रक्रिया (एपवेयर एजेंट) द्वारा लॉक फ़ाइल

Web Deploy cannot modify the file 'TestProject.Application.dll' on the destination because it is locked by an external process. In order to allow the publish operation to succeed, you may need to either restart your application to release the lock, or use the AppOffline rule handler for .Net applications on your next publish attempt. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE. 

क्या app_offline.htm फ़ाइल के साथ काम करने का कोई आसान तरीका है? "app_offline" सुविधा का उपयोग कर appveyor.yml कॉन्फ़िगरेशन इस तरह के वातावरण में काम नहीं करता है।

मैं "पहले/बाद" खंड में कुछ ढूंढ रहा था। यहां मेरा appveyor.yml है:

version: '1.0.{build}' 
os: Visual Studio 2015 

install: 
- "SET PATH=C:\\Program Files\\dotnet\\bin;%PATH%" 

branches: 
    only: 
    - master 

assembly_info: 
    patch: true 
    file: '**\AssemblyInfo.*' 
    assembly_version: '{version}' 
    assembly_file_version: '{version}' 
    assembly_informational_version: '{version}' 

build_script: 
- nuget sources add -name "VNext" -source https://dotnet.myget.org/F/cli-deps/api/v3/index.json 
- nuget sources add -name "nugetv3" -source https://api.nuget.org/v3/index.json 
- dotnet restore 
- dotnet build */*/project.json 

after_build: 
- ps: Remove-Item -Path src\TestProject.Web\web.config 
- ps: Move-Item -Path src\TestProject.Web\web.$env:APPVEYOR_REPO_BRANCH.config -Destination src\TestProject.Web\web.config 
- dotnet publish src\TestProject.Web\ --output %appveyor_build_folder%\publish 

artifacts: 
- path: .\publish 
    name: TestProject.Web 

test: off 

deploy: 
    - provider: Environment 
    name: east-webhost 
    artifact: TestProject.Web  
    remove_files: false 
    on: 
     branch: master 

उत्तर

2

कृपया before/after deploy scripts देखें। this sample भी जांचें कि आप यह सुनिश्चित कर सकते हैं कि फ़ाइल जारी की गई है।

--ilya।

+0

मेरे पास मेरी परियोजना की जड़ पर पहले से ही deploy.ps1 है लेकिन इसे निष्पादित नहीं किया गया है, इस पर कोई विचार है? /deploy.ps1 /src/TestProject.WebApp मैंने अपने समाधान में "समाधान आइटम" के रूप में इस deploy.ps1 को शामिल किया। अभी भी सर्वर पर कुछ भी निष्पादित नहीं किया गया है। –

+3

http://www.gabrielrobert.com/2016/11/blog-post.html –

संबंधित मुद्दे