标签: web-deployment

Web部署任务失败.('Microsoft.Web.Deployment.DeploymentManager'的类型初始化程序引发了异常.)

当我从visual studio 2010使用Web部署时,我收到以下错误.Web部署任务失败.('Microsoft.Web.Deployment.DeploymentManager'的类型初始化程序引发了异常.)

我突然开始收到这个错误!我使用所有相同的设置多次发布我的网站,但突然间它开始给我这个错误.它可能是网站属性中的东西吗?我正在使用asp.net并拥有Windows 7并发布到Windows Server R2.请帮忙!

c# asp.net publish visual-studio-2010 web-deployment

58
推荐指数
6
解决办法
2万
查看次数

ClickOnce有哪些替代方案?

多年来我一直使用ClickOnce,但我遇到了很多局限.Web部署有哪些替代方案?

到目前为止,我唯一能够出现的是ClickThrough,它现在已成为WiX的一部分.还有其他人取得了成功吗?

.net clickonce wix web-deployment

56
推荐指数
3
解决办法
3万
查看次数

Docker:如何Dockerize和部署LAMP应用程序的多个实例

我需要部署同一个LAMP(或LEMP)应用程序的许多实例:

  • 每个实例都可以通过前置loadbalancer/proxy从子域访问
  • 每个实例都必须有自己的db数据和文件数据.
  • 每个实例都可能受到监控
  • 每个应用程序实例可能设置内存限制/ CPU
  • 易于自动部署新的webapp实例
  • 环境可能很容易重现,可用于测试和开发.

申请要求:

  • dameon过程(Nginx,MariaDB,PHPFPM)
  • 二进制文件(composer,bower,...)
  • 其他系统特定的库和配置

在阅读了Docker文档和许多howtos之后,我看到了对这个Web应用程序进行docker化的不同解决方案:


解决方案1:使用一体化容器

所有堆栈都在一个容器中:

  • webapp源文件,EMP守护程序进程,二进制文件,...
  • 已安装的卷mysql和webapp数据文件

例子 :

优点(恕我直言):

  • 似乎很容易实现自动化,监控,摧毁.......
  • 易于在prod,test和dev环境中使用.

缺点(恕我直言):

  • 单片
  • 难以扩展
  • 不使用Docker的所有优势

解决方案2:每个webapp实例使用容器堆栈

对于要部署的每个webapp,部署了一个容器堆栈:

  • 每个进程的一个容器:Nginx,Mysql,PHP-FPM,
  • 二进制容器(composer,, bower...)也可以进行docker化,或者在phpfpm容器中合并
  • 装载mysql和webapp数据文件的卷

例子 :

(恕我直言):

  • 解耦
  • 每个实例隔离的进程
  • 每个容器一个进程,不需要守护程序管理器作为RUnit或Supervisord

缺点(恕我直言): …

lamp web-applications web-deployment docker

50
推荐指数
2
解决办法
2万
查看次数

Capistrano - 如何将文件放入共享文件夹?

我是新手Capistrano,我看到有共享文件夹和选项:linked_files.我认为共享文件夹用于在版本之间保存文件.但我的问题是,文件最终是如何进入共享文件夹的?

另外,如果我想将另一个目录符号链接到当前目录,例如某个路径上的静态文件夹,我该怎么把它放在linked_dirs

最后,如何设置chmod 755为linked_files和linked_dirs.

谢谢.

capistrano config web-deployment

45
推荐指数
4
解决办法
4万
查看次数

使用Web.Config转换的高级任务

有没有人知道是否有办法"转换"值的特定部分而不是替换整个值或属性?

例如,我有几个appSettings条目,指定不同Web服务的Url.这些条目在开发环境中与生产环境略有不同.有些不像其他人那么微不足道

<!-- DEV ENTRY -->
<appSettings>
 <add key="serviceName1_WebsService_Url" value="http://wsServiceName1.dev.domain.com/v1.2.3.4/entryPoint.asmx" />
 <add key="serviceName2_WebsService_Url" value="http://ma1-lab.lab1.domain.com/v1.2.3.4/entryPoint.asmx" />
</appSettings>

<!-- PROD ENTRY -->
<appSettings>
 <add key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" />
 <add key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

请注意,在第一个条目中,唯一的区别是".prod"中的".dev".在第二项,子域名是不同的:"MA1-lab.lab1""ws.ServiceName2"

到目前为止,我知道我可以在Web中做这样的事情.Release.Config:

<add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" />
<add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" />
Run Code Online (Sandbox Code Playgroud)

但是,每次更新该Web服务的版本时,我都必须更新Web.Release.Config,这会破坏我的web.config更新的目的.

我知道我也可以将该URL拆分为不同的部分并单独更新它们,但我宁愿将它全部放在一个键中.

我已经浏览了可用的web.config Transforms但是nothings似乎是我想要完成的东西.

这些是我用作参考的网站:

Vishal Joshi的博客,MSDN帮助Channel9视频

任何帮助将非常感激!

-D

asp.net web-config transformation visual-studio-2010 web-deployment

41
推荐指数
1
解决办法
1万
查看次数

使Web.config转换在本地工作

我想让web.config转换在本地工作,但显然只在进行部署时才会发生转换.

有没有人知道如何运行msbuild目标"TransformWebConfig"而不通过"rebuild"进程,还指定并输出目录在哪里吐出转换后的web.config?

编辑:使用Sayed的答案,我创建了一个.bat文件来为我运行任务:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe "D:\Demo\Transformation.proj" /t:TransformWebConfig 

copy /Y  "D:\Demo\Web.config" "D:\MyProject\Web.config" 

del ""D:\Demo\Web.config"
Run Code Online (Sandbox Code Playgroud)

"Transformation.proj"是Sayed的代码片段的副本,在下面的答案中.只需指定转换的源,目标和目标.新文件(在本例中为已转换的"web.config")将位于"D:\ Demo"目录中.我只是将其复制以覆盖我的项目的web.config,最后,删除"demo"文件夹中生成的文件.

另外,我创建了一个宏来运行这个批处理文件并为我执行转换:

Public Module DoTransform
    Sub RunTransformBatchFile()
        Try
          Process.Start("D:\Demo\RunTransform.bat")
        Catch ex As System.Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Module
Run Code Online (Sandbox Code Playgroud)

您还可以在工具栏上添加一个按钮来运行此批处理和/或指定要执行的快捷键.

asp.net web-config visual-studio-2010 web-deployment msdeploy

38
推荐指数
2
解决办法
1万
查看次数

为什么连接的RequireJS AMD模块需要加载器?

我们在开发过程中喜欢RequireJS和AMD,我们可以编辑模块,在浏览器中点击重新加载,然后立即看到结果.但是,当需要将我们的模块连接到单个文件进行生产部署时,显然必须有一个AMD加载器仍然存在,无论该加载器是RequireJS本身还是其较小的合作伙伴"杏仁",如下所述:

http://requirejs.org/docs/faq-optimization.html#wrap

我的困惑是:为什么装载机是必需的?除非你有非常特殊的情况使你有必要require()在你的模块内部进行调用,否则似乎可以连接一系列AMD模块而不需要加载器.最简单的例子是一对模块,如下所示.

ModA.js:

define([], function() {
    return {a: 1};
});
Run Code Online (Sandbox Code Playgroud)

ModB.js:

define(['ModA'], function(A) {
    return {b : 2};
});
Run Code Online (Sandbox Code Playgroud)

鉴于这两个模块,似乎连接器可以简单地生成以下文本,而不会使生产服务器或浏览器承受RequireJS或Almond所需的额外带宽或计算.

我想象一个产生的连接器(我使用V形符号«,»来显示上面两个模块的片段插入位置):

(function() {
    var ModA = «function() {
        return {a: 1};
    }»();
    var ModB = «function(A) {
        return {b : 2};
    }»(ModA);
    return ModB;
})();
Run Code Online (Sandbox Code Playgroud)

据我所知,这可以正确地重现AMD的语义,只需要少量的外来胶水JavaScript.有这样的连接器吗?如果没有,我会因为认为我应该写一个而变得愚蠢 - 是否真的很少有代码库由简单而干净的模块组成,define()并且永远不需要进一步的require()调用来启动以后的异步代码提取?

javascript amd web-deployment requirejs almond

37
推荐指数
1
解决办法
4518
查看次数

Visual Studio 2010 Web发布缺少文件

我发现从Visual Studio发布网站时,它不会上传我的一个文件.它是一个带有'.cshtml'扩展名的Razor文件(它正在执行其他操作!)及其项目的一部分.

有什么想法会排除它吗?

asp.net-mvc visual-studio-2010 web-deployment

36
推荐指数
1
解决办法
1万
查看次数

如何使用MsBuild以编程方式在IIS(6.0和7.0)中停止或启动网站?

我有Windows Server 2003(IIS 6.0)和Windows Server 2008(IIS 7.0)服务器,我使用MSBuild来部署Web应用程序.

我需要进行安全部署,并执行此操作:

  1. 停止IIS 6中的网站(或IIS 7中的应用程序),而不是停止AppPool.

  2. 检查网站是否停止; 没跑

  3. 如果网站已停止,请执行另一项部署任务.

  4. 启动IIS 6(或IIS 7中的应用程序)网站,

我怎样才能做到这一点?

更新:对我来说:IIS6WebSite和IIS6AppPool(以及IIS7),在尝试停止网站或AppPool时是否等待停止状态?

当我执行网站停止操作(或AppPool的停止操作)时,我需要确保100%网站已停止,然后,只有网站停止时,我才能执行其他目标.

c# msbuild iis-7 iis-6 web-deployment

33
推荐指数
2
解决办法
3万
查看次数

如何编译电子应用程序到.exe

我一直在学习如何在Electron中创建应用程序,我需要帮助将一个简单的项目编译为Windows可执行文件.该程序是这个Github回购的克隆:https://github.com/electron/electron-quick-start.在repo自述文件中,它显示了如何运行该程序:

# Clone this repository
git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
npm install
# Run the app
npm start
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我无法弄清楚如何简单地编译它.我看过谷歌,你会认为像部署应用程序这样简单的事情就是众所周知的信息.

javascript deployment desktop-application web-deployment electron

31
推荐指数
1
解决办法
5万
查看次数