我试图通过MSDeploy运行命令作为我的打包/部署过程的一部分.特别是,我试图通过对我的一个DLL 运行installutil来创建自定义事件日志,但是我在部署目录中指定DLL 的相对路径时遇到问题.首先,我将以下配置添加到我的csproj中,以便在我的Manifest文件中生成runCommand提供程序.请注意DLL的绝对路径.
<PropertyGroup>
<!-- Extends the AfterAddIisSettingAndFileContentsToSourceManifest action to create Custom Event Log -->
<IncludeEventLogCreation>TRUE</IncludeEventLogCreation>
<AfterAddIisSettingAndFileContentsToSourceManifest Condition="'$(AfterAddIisSettingAndFileContentsToSourceManifest)'==''">
$(AfterAddIisSettingAndFileContentsToSourceManifest);
CreateEventLog;
</AfterAddIisSettingAndFileContentsToSourceManifest>
</PropertyGroup>
<Target Name="CreateEventLog" Condition="'$(IncludeEventLogCreation)'=='TRUE'">
<Message Text="Creating Event Log" />
<ItemGroup>
<MsDeploySourceManifest Include="runCommand">
<path>installutil C:\inetpub\wwwroot\MyTestApp\bin\BusinessLayer.dll</path>
</MsDeploySourceManifest>
</ItemGroup>
</Target>
<ItemGroup>
Run Code Online (Sandbox Code Playgroud)
在调用msbuild之后,这在package.zip中正确生成了我的清单.当我运行MyTestApp.deploy.cmd/Y时,它正确调用了msdeploy并将我的文件部署到inetpub\wwwroot\MyTestApp并从下面的清单中运行我的命令:
<runCommand path="installutil C:\inetpub\wwwroot\MyTestApp\bin\BusinessLayer.dll ... etc
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我不想将此DLL路径硬编码到c:\ inetpub\etc.如何使用默认网站下部署目录中的相对路径进行上述调用?理想情况下,我希望MSDeploy采用此路径并将其作为变量传递给runCommand语句,以便找到DLL.然后我可以编写类似的内容:<path>installutil $DeploymentDir\NewTestApp\bin\BusinessLayer.dll</path>无需担心硬编码绝对路径.
有没有办法这样做,而不是每次都使用我的DLL的绝对路径?
我知道git是什么以及如何使用它(一点点),但有一个概念我仍然不完全理解.我听说很多Web开发人员最近说他们使用git进行每个web项目,即使他们没有合作,他们只是使用git作为FTP替代品,事实上他们声称FTP是上传你网站的旧方法.
我的问题是,如何使用git上传我的网站而无需支付像beanstalk这样的服务?
真的FTP被认为是一项旧技术,我们应该使用git吗?
非常感谢
我在Windows Server 2008 R2上安装了Web Deploy 3.5并尝试通过visual studio 2012运行远程发布Web应用程序.但是,我收到了错误 - 目标无法访问.
我读了一些帖子并在下面查看但仍然没有运气.
我错过了什么吗?谢谢.
我正在尝试使用Jenkins部署到容器插件在远程Tomcat(远程计算机)上部署WAR.我在tomcat-users.xml中完成了以下配置
<user username="deployer" password="deployer" roles="manager-gui,manager-script,admin" />Run Code Online (Sandbox Code Playgroud)
我在Jenkins deployer容器插件中设置了正确的用户名密码和端口.该设置适用于本地Tomcat.但对于远程Tomcat,我不断收到以下错误:
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:555)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:686) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:699) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:174)
... 16 more Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://1.203.190.5:8080/manager/text/list at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:544) ... 19 moreRun Code Online (Sandbox Code Playgroud)
请帮忙.
我正在通过 PuTTy 连接到 SSH 在 Godaddy 共享 Linux 主机上安装 Node.js。获取错误。
我跑了
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Run Code Online (Sandbox Code Playgroud)
安装 nvm 的命令。NVM 已成功安装,因为我在运行时收到响应“0.34.0”
nvm --version。
我正在运行nvm install node以安装 Node.js。
运行此命令后,我收到以下错误:
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.16' not …Run Code Online (Sandbox Code Playgroud) 有没有更好的建议来控制Web项目,在几个客户项目中使用git进行小的随机更新?
我想使用git进行Web项目的版本控制.与几乎所有其他提案的主要区别在于,这是一个使用HTML,JavaScript和一些PHP文件的Web项目 - 没有中央库被一个或多个程序使用,就像在典型的Linux软件包中一样.
我所有不同的Web项目都是针对不同的客户,基于相同的平台文件,我估计80%的文件是相同的(称为平台),20%是针对不同的客户进行修改以满足他们的需求.这里的问题是,我不知道我们需要客户更新哪些文件 - 详细地说每个客户都不同.
最好的方法是将平台特定文件保存在一个目录中,并将这些文件与客户特定文件重叠在另一个目录中.为了用git来解决这个问题,到目前为止我没有发现什
这里最好的方法是什么?
我已经为WCF项目设置了持续集成,并希望使用MSBuild Arguments自动将应用程序部署到远程服务器,但它没有部署.
运行新的Build时,所有测试都会通过,所有项目都会构建,但网站没有部署.此外,我从构建中得到的任何错误都没有说出错.
我在远程服务器上打开了端口8172,以确保可以与IIS建立连接,甚至禁用防火墙.
在构建配置中,我指定了以下参数;
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:DeployIisAppPath="Default Web Site/MYSite" /p:MsDeployServiceUrl=http://mysite.com /p:username=MySite\Administrator /p:password=thePassword
Run Code Online (Sandbox Code Playgroud)
我从以下示例编译了此配置:
http://vishaljoshi.blogspot.co.uk/2010/11/team-build-web-deployment-web-deploy-vs.html
http://www.chrissurfleet.co.uk/post/2011/07/21/Setting-Up-Continuous-Deployment-In-TFS.aspx
我已配置服务器的IIS以启用远程连接,我可以从构建服务器远程管理IIS.此外,我已使用Visual Studio 2012发布选项成功部署了应用程序.
任何人都可以看到我的MS Build Arguments有问题吗?我错过了什么吗?
任何帮助都会非常感激
更新:
我已检查构建服务器以检查MS部署是否已安装并已安装Web Deploy 3.0以确保这是capabale,但尚未解决我的问题.
我检查了IIS连接日志,看看是否正在建立与IIS的远程连接,并且我的构建服务器与应用服务器之间没有连接.
我已尝试使用以下代码手动运行MSBuild.exe以在解决方案和项目服务器上进行项目:
MSBuild.exe "项目位置"/ P:DeployOnBuild =真/ P:DeployTarget = MsDeployPublish/P:MSDeployPublishMethod = WMSVC/p:DeployIisAppPath = "默认网站/应用"/ P:MsDeployServiceUrl = HTTP://应用程序服务器:8172/MSDeploy.axd/p:AllowUntrustedCertificate = True/p:CreatePackageOnPublish = False/p:Username = username/p:Password = password
MSBuild正在成功构建项目,但没有尝试部署它.
有任何想法吗?
deployment tfs continuous-integration tfsbuild web-deployment
我们使用: - SVN - Jenkins - MS Build插件
我们有几个Web Form/MVC/Web服务.
我们将设置Microsoft Web Deploy并从Jenkins运行bat文件.
也许有人可以提出更好的方法,或者这看起来像最有效的解决方案?
先感谢您.
我正在从Visual Studio 2013发布Web应用程序.我需要包含不属于项目一部分的文件夹,并排除一些文件夹(项目的某些部分,有些不是项目的一部分).所以我进入了我的项目属性并设置了Items To Deploy字段,All files in this project folder如下所示:
然后我开始寻找一种排除文件夹的方法All files in this project folder.我找到了这个页面,具体说明了
Visual Studio UI不会公开您可以配置的所有部署设置.例如,您无法使用UI从部署中排除单个文件夹.但是,您可以通过编辑存储配置设置的文件来执行此操作.对于每个发布配置文件,都有一个.pubxml文件,您可以直接编辑该文件.
此页面链接到另一个解释如何编辑文件的页面,但没有解释如何排除特定文件夹.
我发现其他网站(包括这个网站)解释了如何使用csproj文件中的以下标记排除旧版Visual Studio中的文件夹:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment>
<ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
但似乎csproj文件的XML元素在VS2013中不再相关.我在某个地方(不记得现在在哪里)读到这个元素已被移动到[PublishProfileName].pubxml文件的建议,但尝试这个无法工作.
我确信在Visual Studio 2013中有一种方法可以做到这一点,但对于我的生活,我无法弄清楚如何.我在Stackoverflow以及其他论坛上找到了十几个相关的问题,但在VS2013中没有一个解决方案适合我.任何帮助深表感谢.
我有三个配置文件,每个环境一个:
如果我将ASPNETCORE_ENVIRONMENT设置为dev,我会收到一个运行时异常,抱怨无法找到appsettings.dev.json.我尝试添加
"copyToOutput": [
"appsettings.dev.json"
]
Run Code Online (Sandbox Code Playgroud)
到buildOptionsproject.json中的部分,但它似乎没有任何影响.
有没有其他方法可以强制appsettings.dev.json被复制到输出目录?