![](/img/trans.png)
[英]how can I set up a continuous deployment with TFSBuild for MVC app?
[英]How to set up apt to use it for web app deployment
如果我想使用apt软件包将Web应用程序部署到不同的linux服务器,我应该采取什么步骤? 从PHP / MySQL应用程序开始,我希望能够将其作为一个软件包安装,如下所示:
apt-get update
apt-get install mywebapp-package
我想我必须在某个地方建立一个存储库并向其中添加我的软件包,但是这如何工作? 如何创建包本身? 我该怎么做才能使任何服务器找到我的存储库? 一些谷歌搜索只会发现令人困惑的信息,也许我在寻找错误的流行词。 任何帮助将非常感激!
这是创建apt-package的方法https://askubuntu.com/questions/27715/create-a-deb-package-from-scripts-or-binaries
这真的非常简单...在您的应用程序文件夹中有一个debian子文件夹.... / debian / install文件包含一个非常直观的文件映射到最终位置
# debian/install must contain the list of scripts to install
# as well as the target directory
echo myscript.sh usr/bin > debian/install
您可以使用makefile创建安装和安装后任务。 如果您以前从未使用make编译过ac / c ++程序... ...基本上在app文件夹中运行“ ./configure”,然后运行“ make”或“ make install”来编译/解包该程序... dh_make有一个略有不同的过程和一些默认值,但这是一个非常相似的工作流程...以下是来自GNU Make Reference的一个非常简单的makefile
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
edit : $(objects)
cc -o edit $(objects)
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
display.o : display.c defs.h buffer.h
cc -c display.c
insert.o : insert.c defs.h buffer.h
cc -c insert.c
search.o : search.c defs.h buffer.h
cc -c search.c
files.o : files.c defs.h buffer.h command.h
cc -c files.c
utils.o : utils.c defs.h
cc -c utils.c
clean :
rm edit $(objects)
基本上,默认的“ make”任务会编译程序编辑...,并从此结构中的文件名中自动检测到依赖项
对于Web应用程序,这是OSS项目中的makefile,包括从Github中提取http://build.shr-project.org/Makefile
基本上,如果您在项目上工作,并将所有安装任务放入一个makefile中...,并让“ make”默认任务将您的应用程序解包,然后安装apache / nginx vhost并在完成后重新启动/重新加载相关服务器...然后apt是处理它的一种完全可行的方法...有很多程序可以同时在数百个系统上管理apt软件包... https://serverfault.com/questions/79093/managing-upgrades-on-hundreds Debian服务器
Canonical / Ubuntu的Landscape是用于此类事情的好工具...我以前在大约20台服务器的平台上使用过它...不太确定设置自己的上游存储库并签名密钥的细节,因此apt可以完全管理该程序包,但是我敢肯定,一旦有了dpkg,它就非常简单
Debconf / apt为许多类型的应用程序提供了一个很好的用例...但是,如果它是持续部署的应用程序,则您必须继续进行升级(对我而言,如果您每周进行一次以上升级,则是经验法则或5个月)...那么使用连续部署工具可能会更好... Capistrano和Fabric都很出色(使用过的Cap,经过多阶段扩展...太好了,Fabric我只听过很棒的事情)...但是我仍然不相信Cap在数百台Debian服务器上的使用...这实际上与您的项目规模有关...上面说的10或20个服务器的使用上限太慢且难以真正管理部署好(恕我直言,显然任何人都可以做,而且我还没有真正地研究过这一点,但是Ruby Rake和Capistrano等都是DAMN Slow,与Gnu Make和debconf相比不可靠,尤其是在野外)
特别是对于一般服务器自动化而言,我建议您查看Puppet和Chef ,它们都是非常可行的工具。 两者都没有使用,但是我们所有的管理脚本都在Ruby中进行,并且绝对可以使用Chef的刀工具以脚本方式配置服务器
我建议使用Capistrano或Fabric之类的东西来部署您的应用程序,而不是apt-get。 这些工具专门用于部署应用程序,并且能够部署到多个服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.