我正在使用 Jenkins 自动部署网络应用程序。我计划为最终用户提供允许选择 SVN 标签并输入用户 ID 和密码以启动部署的用户界面。我想知道这项工作是否有任何可遵循的标准。
自动化工作是否应包括在部署应用程序之前构建解决方案(或者)是否可以让开发人员存储 MSBuild 的结果,即在 SVN 标签中存储所需的二进制文件和 SQL 以启动 xcopy 任务。
如果首选构建,那么从 SVN 部署 SQL 脚本怎么样,因为它可能会因构建而异。而且我认为允许用户选择用于部署的 SQL 脚本可能不是个好主意。如果他错误地选择了初始设置脚本,则可能会出现问题。那么,如何在这种情况下处理 SQL 部署,以便轻松地与部署过程集成。
最佳答案
通常最好构建一次,将二进制文件存储在某个地方(例如 NuGet),然后将其用于所有部署。见
http://www.informit.com/articles/article.aspx?p=1621865&seqNum=3
对于 SQL 脚本,您可以使用数据库迁移工具,例如 dbdeploy。我同事的以下文章描述了使用我们名为 Go 的 CD 工具的整个过程,但您可以通过 Jenkins 轻松使用那里的信息。
http://lyricsoft.blogspot.in/2012/08/we-are-often-asked-about-using.html
关于c# - 使用 CI 工具自动部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391222/