`名称:DEEEE部署到开发环境 在: 推: 分支机构: - 掌握 拉请求: 分支机构: - 准备棒 环境:
AZURE_DEVWEBAPP_NAME:GitAc-Dev AZURE_PREPRODWEBAPP_NAME:GitAc-PreProd AZURE_WEBAPP_PACKAGE_PATH: 'D: \GitNewTest2\GitNewTest2\GitNewTest2 中' 工作: 建造: 运行版本:windows-latest 脚步: - 使用:actions/checkout@v2
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1
- name: Setup NuGet
uses: NuGet/[email protected]
- name: Restore NuGet packages
run: nuget restore GitNewTest2/GitNewTest2.sln
- name: build
run: |
msbuild GitNewTest2/GitNewTest2.sln /t:Build /p:Configuration=Release /p:Platform="Any CPU" /verbosity:minimal
- name: publish
run: |
msbuild GitNewTest2/GitNewTest2.sln /t:Publish /p:Configuration=Release /p:Platform="Any CPU" /p:PublishDir="./artifacts"
名称:上传工件 使用:actions/upload-artifact@v2 和: 名称: myapp 路径:${{env.AZURE_WEBAPP_PACKAGE_PATH}}
名称:running1 运行:| 获取位置
名称:running6 运行:| 目录 D: \GitNewTest2\GitNewTest2\GitNewTest2 in
名称:下载工件 使用:actions/download-artifact@v2 和: 名称: myapp 路径:'C:pp.publish'
名称:跑步 运行:| 获取位置
名称:running2 运行:| 目录
名称:running3 运行:| cd C: pp.publish 目录
部署开发:
name: Dev
needs: Build
# if: github.event_name == 'refs/heads/master'
runs-on: self-hosted
env:
DEV_WEBSITE_NAME: ${{secrets.DEV_WEBSITE_NAME}}
DEV_APP_POOL_NAME: ${{secrets.DEV_APP_POOL_NAME}}
WEBAPP_MSDeploy_USERNAME: ${{secrets.IIS_USERNAME}}
WEBAPP_MSDeploy_PASSWORD: ${{secrets.IIS_PASSWORD}}
environment:
name: Dev
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Download artifacts
uses: actions/download-artifact@v2
with:
name: myapp
path: 'C:\app.publish'
- name: copying
run: |
$path="${{github.workspace}}\GitNewTest2\Scripts\DevTestScript.ps1"
echo $path
& $path
cd C:\inetpub\wwwroot\
dir
Copy-Item C:\app.publish\* C:\inetpub\wwwroot\${{env.DEV_WEBSITE_NAME}} -Recurse -Force
名称:创建新的应用程序池 运行:|
Start-Process powershell.exe -Verb RunAs -ArgumentList "-File C:\actions-runner\_work\GitNewTest2\GitNewTest2\GitNewTest2\Scripts\DevTestAppPool.ps1"
# & C:\actions-runner\_work\GitNewTest2\GitNewTest2\GitNewTest2\Scripts\DevTestAppPool.ps1
- name: create website
run: |
& C:\actions-runner\_work\GitNewTest2\GitNewTest2\GitNewTest2\Scripts\DevTestWebsite.ps1
- name: config to use new appool
run: |
Set-ItemProperty -Path "IIS:\Sites\${{env.DEV_WEBSITE_NAME}}" -Name "applicationPool" -Value ${{env.DEV_APP_POOL_NAME}}
- name: Deploy to IIS
run: |
start-process PowerShell -verb runas
iisreset /stop
iisreset /start
`
上面我分享了我的 github 工作流程代码,我尝试过使用命令 RunAs ,然后也尝试编辑注册表策略。我仍然看到同样的错误。任何帮助都会很棒。
我正在使用自托管的 GitHub 操作,这发生在我身上:
我一直在努力解决这个问题,因为当我试图让池休眠然后启动它并且特权导致它时,我遇到了这个错误
Run Stop-WebAppPool -Name "DotNetTesting"
Process should have elevated status to access IIS configuration data.
stop-webitem : Cannot find drive. A drive with the name 'IIS' does not exist.
我通过转到操作运行程序并尝试以管理员身份运行“run.cmd”解决了这个问题并解决了。