使用XPage实现DevOps的最佳方法是什么。
多个开发人员团队合作,On Premises Servers [Dev,QA, Prod]我们可以复制到Bluemix吗?源代码控制自动化测试UI /应用程序,单元测试业务逻辑与测试框架,自动部署
IDE /工具 Domino Designer;还有其他方法吗?
注意:当数据在NSF中时使用视图,否则数据在云中或SQL中。没有表单或其他经典Notes设计元素。
你对此有何看法?
答案 0 :(得分:4)
这是对您所描述的内容所需主题的高级概述。我正在轻松地浏览过很多细节,所以请搜索出来;我试图引用我目前所知的其他人的支持文档和博客文章等。如果有人有任何好处可以添加,我很乐意添加它。
您所描述的内容涉及多个组成部分,通常相当于:
其他所有内容(例如通过QA / QC环境发布工作流程)都是上述主要步骤的辅助步骤。我将概述我目前正在做的事情,试图强调我正在努力改进这个过程。
这可能令人难以置信,并且很大程度上取决于您的团队如何/部署/部署/发布流程中使用源代码管理。下面我将介绍在构建步骤中/周围进行测试的概念。
我已从一个相当通用的scm服务器实现切换到GitLab实例。甚至运行CE实例也非常棒CI runner capabilities。以前,我有一个Jenkins CI实例执行相同的任务,但不得不在Jenkins任务中加入更多的“工作流”,而现在大部分逻辑都在一个统一的脚本中,从配置文件引用({{ 1}})。这类似于Travis CI或其他类似CI配置文件的工作方式。
此配置调用了一些额外的帮助工作,但最终围绕着Egor Margineanu's PowerShell script which invokes the headless DDE build task的改编版本。
我在博客中介绍了我的一般构建过程,以及之前的Jenkins CI实现。为此,我按照blogging of Cameron Gregor和Martin Pradny进行了操作。最终,你需要:
.gitlab-ci.yml
需要notes.ini
我的博客文章介绍了其他主题,例如将构建标记为成功或失败,方法是扫描输出日志以标记为失败的构建。它还涉及如何将代码提交给SonarQube实例。
参考:IBM Notes/Domino App Dev Wiki page on headless designer
任何其他测试或其他工作流程注意事项(例如QA / QC批准)都应围绕构建阶段进行,具体取决于您设置SCM工作流程的方式。很多实现都将围绕您的设置细节展开。一般的想法是根据构建+测试阶段的结果允许/阻止部署。
IBM Bluemix将需要一些额外的考虑因素,例如:
价: - IBM XPages on Bluemix - Bluemix Docs: Building XPages apps for the Bluemix Runtime
如果您希望部署XPage应用程序以在Bluemix上运行,您可能希望确保无头构建使用Bluemix ID运行,或者至少使用Bluemix ID进行签名,然后将其部署用于生产推送通过git连接或cf / bluemix命令行实用程序。 Bluemix的接收挂钩处理所有其他部署问题,例如启动/停止服务器实例等。
具有适当级别凭据的用户ID需要执行设计替换/刷新或停止dev / test / staging服务器,执行DESIGNER_AUTO_ENABLED=true
的文件副本,然后重新启动它的工作。我听说Cameron Gregor利用Domino Designer的插件来执行OSGi插件开发所需的操作,这听起来非常有用。由于我的大多数Domino应用程序开发几乎都是基于NSF的,所以我更关注部署到staging / dev / test服务器的方法,然后我可以执行设计任务来执行所需的刷新/替换;更接近“正常”多米诺的做事方式。
同样,这里涉及很多动人的作品,其中一些相当快速地得到了相当的反对。例如,我目前正在虚拟化我的构建机器,因此我可以对其中的几个虚拟机进行假脱机,允许一次构建多个构建。如果这个过程存在重大差距,请告诉我,我会尽我所能。