我正在研究一个iOS应用程序,其主要目的是与一组远程网络服务进行通信.对于集成测试,我希望能够使用具有可预测结果的某种假伪造网络服务来运行我的应用程序. 到目前为止,我已经看到了两个建议: 创建一个为客户端提供静态结果的Web服务器(例如在这里). 实现不同的Web服务通信代码,基于编译时标志将调用从本地文件加载响应的网络服务或代码(示例和又一个). 我很好奇社区对每种方法的看法以及是否有任何工具来支持此工作流程. 更新:让我提供一个具体的示例.我有一个获取用户名和密码的登录表单.我想检查两个条件: docroduser@blahblah.com 获得登录和 primeuser@blahblah.com 成功地登录. 因此,我需要一些代码来检查用户名参数并向我提供适当的响应.希望这就是我在"假网络服务"中需要的所有逻辑.我如何干净地管理? 解决方案 就选项1而言,我过去曾使用Cocoahttpserver并将服务器直接嵌入Ocunit测试:
以下是关于 continuous-integration 的编程技术问答
我希望在Apache Server上使用BitBucket连续集成而部署Angular 5应用程序 现在,因为我是该领域的新手,所以我不知道可以做到这一点的选项 就像我们需要将Webpack与Jenkins集成在一起,还是我们需要在Jenkins上编写其他代码,或者我们可以在没有Jenkins的情况下完成此操作,并且我们需要将其与Sonar一起集成 有些页面没有给出有关WebPack的任何线索,而有些页面说您只需要在Jenkins中编写WebPack脚本 任何有经验的人,请启发我们 解决方案 如果您正在使用Angular CLI来构建应用程序,那么它非常直接通过Jenkins/Teamcity进行相同的操作. 在jenkins上安装节点JS- https://wiki.jenkins.io/display/jenkins/nodejs+插件 此外,您可以关注此博客 - 特定于Angular 2/4/5-您只需要通过Shell脚本传递Angular C
我正在VS2015中开发一个Angular2应用程序,并为其设置了一个Webpack捆绑和缩小环境. 这是我的webpack.conf.js 在 switch (process.env.NODE_ENV) { case 'prod': case 'production': module.exports = require('./config/webpack.prod'); break; case 'test': case 'testing': //module.exports = require('./config/webpack.test'); break; case 'dev': case 'development': default: module.exports = require('./config/web
我有一个简单的詹金斯管道工作,可以做很多事情并打电话其他工作.没有与工作相关的回购.但是,当在Bitbucket中的某个仓库中创建拉动请求时,应调用此作业. Gitlab的这很容易,我只需要在gitlab上添加与Jenkins Job URL的Webhook.如何用Bitbucket实现这一目标?看起来总是需要在詹金斯(Jenkins)触发webhook的回购URL,但我没有回购. 我在詹金斯(Jenkins)上的管道工作是 stage('Stage 1'){ echo "hello, world!" } } 我想在bitbucket上为repo xyz创建PR时触发此构建. 或一般而言,如何使用管道脚本和Bitbucket Webhooks使Jenkins管道工作起作用?所有这些都谈论自由泳工作,或者多发性工作或与Jenkinsfile的管道工作 解决方案 为此,您可以使用通用的Webhook触发插件 .您将添加到工作中的令牌将确
我的要求是我想将我的bitbucket存储库与Azure DevOps CI服务器集成bitbucket repo. 我在URL部分中添加了Azure DevOps CI服务器URL,并在Bitbucket Webhook的秘密部分中添加了秘密.秘密是在Azure DevOps服务器中生成的个人访问令牌. 但是在创建网络钩时,我会得到 Resource not available for anonymous access. Client authentication required. - Azure DevOps server 即使我添加了一个秘密,为什么它会给客户身份验证所需的错误?原因是什么? P.S. - 在Bitbucket Repo和Azure DevOps CI Server之间集成的文档稀缺 更新:我已经在答案中启用了Vito Liu-Msft所建议的触发器选项卡上的连续集成在Bitbucket中分支. yml文件如下 resour
由于WebDriverio的最后一个版本带有Browserstack-Service 6.4.7,因此我在Browserstack上的会话名称面对某些问题:连续集成是将名称(带有工作唯一的ID)发送给BrowserStack,作为"会话名称" "在测试期间,它更改了... (我可以看到该名称在Browserstack上的测试开头是正确的) 我很难在测试中找到自己的出路,因为它们都有相同的名称,即套件或功能名称 您是否遇到过这种问题? 非常感谢您的任何帮助! 解决方案 我相信会话名是在框架本身中拾取并设置的. Have you had the chance to output a few variables to the console from this file, https://github.com/itszero/wdio-browserstack-service/blob/47786feacef79c674e794e79d812cdb99cb99c
问题是Sikuli的图像识别能力仅在Sikuli测试的目标位于前景并具有完全访问鼠标的目标时才起作用.在当前的配置中,詹金斯项目从Windows从属节点的桌面上看不到. 我当前的自动测试套件现在设置的方式,仅使用硒编写约30个测试.在最后两次测试中,硒启动了一个网络驱动程序(目前是Chromedriver,但可以是Firefox或IE),然后导航到正确的页面,而Sikuli从那里开始做事.两者都使用Java语言绑定. 当前Sikuli似乎是正确安装的,但是当要求它单击据称通过与桌面与目标图像匹配的屏幕区域列表时,它立即抛出NPE. 如何更改Windows 7从属上的Jenkins设置以允许在前景中启动浏览器,就像我从Windows 7开发机器运行时一样? 解决方案 因此,您拥有一台开发机,Sikuli可以在其中工作,而詹金斯(Jenkins)运行sikuli且不起作用的测试机. 我有相同的设置(带有运行Windows 7的Sikuli Tester/Jen
ROR 3.2.13和3.0.1 Capistrano 我的应用需要通过 rake db:seed 进行初始数据.每当有人加入新功能和所有测试通行证时,我的连续集成服务器都会自动部署.最新任务是 rake db:seed . 第一次工作正常,但是在下面的情况下,由于数据库中已经存在一些记录. 哪种策略建议我逐步运行种子. 请注意: 种子可能会随着时间而变化. 该应用程序已经包含有关生产的数据. 应自动从连续的集成服务器运行. 谁应该有责任不重复信息:Capistrano,种子本身,应用程序,连续集成服务器? 解决方案 种子的方式是种子-fu.使用 seed-fu 我们可以制作iDempotents seeds,意味着您有时可以在没有最终结果的情况下运行.通过环境或部署不同种子的方式是 seedbank 其他解决方案 在我们的团队中,我们正在使用迁移进行更改DB模式和现有数据.
自上周开始以来,我们会在GCP上部署我们的服务时遇到问题: ERROR: (gcloud.app.deploy) Error Response: [9] An internal error occurred while processing task /app-engine-flex/flex_await_healthy/flex_await_healthy>2022-11-28T11:42:15.994Z106544.jc.1: The region us-central1 does not have enough resources available to fulfill the request. Please try again later. 到那一刻,我们能够正常部署我们的服务.目前,我们试图在一天中的不同时间部署我们的服务,也试图在周日尝试.官方建议是切换到另一个区域,但这意味着我们在另一个位置托管服务以外的位置,使所有请求更长. 是否有人设法找到了上述问
我的目标:添加来自其他项目的DLL并在bin文件夹中发布这些文件. 因此,我尝试发布我主要Web项目中未包含的额外DLL文件.我需要这样做,因为没有引用几个集体库项目.这些项目具有后构建事件,可以在主要的Web项目文件夹中复制自己的DLL(我用DI读了它们,这要归功于AutoFac).如果我发布了所有文件夹,则在本地运行良好,但是当我想发布主要的Web项目时,额外的DLL不在那里. 我需要将其与团队合作一起使用,因为我想在每个提交中自动发布.该部分有效,唯一的问题是额外的DLL文件未发布. 一些有趣的链接: 我尝试: 创建一个MSBUILD文件,以动态插入DLL>失败 添加pre/post build/publish Events>失败,类库项目是在主>之后编译的 改变构建顺序>失败原因取决于依赖关系(我希望主要项目忽略所有其他项目) 我现在可以尝试什么?任何帮助将不胜感激. 更新 我尝试添加自定义文件(在此处找到: http://
我面临问题. 我有一个带有20个Piplines和DataSet的数据工厂,以及我启用了具有名称XYZ项目的Git的链接服务,并创建了ADF-Publish分支机构,我在ADF-Publish分支机构工作了将近1周.一周后,我的客户说我们已经用XYZ1 Protroject名称创建了新的Azure DevOps项目. 我的问题是,自从我尝试过,我如何才能再次保存变更ADF 由于工厂启用了git,因此不允许您进行更改或从"数据工厂"模式发布. 如何填充ADF_PUBLISH分支更改为ADF - 然后我将删除ADFPUBLISH分支 - 并再次将存储库设置为新项目XYZ1. 正如您在此图像中可以看到的那样,我尝试在ADF中更改但无法发布. 谢谢 anuj 解决方案 我不确定我是否正确理解您的情况,但是如果您从中删除Git,您将可以直接承诺ADF. 要这样做,请转到数据工厂概述,然后单击GIT回购设置: 然后只需单击弹出的新窗口左下方的删除git即
我们在连续集成下使用TFS构建服务器.构建的结果是Web应用程序,该应用程序由与MSBuild集成的发布功能部署.我们在构建服务器上生成构建启动之前(预构建事件),这是一个最小化的JavaScript文件,该文件在构建计算机上的源目录中复制.可悲的是,这些不是在IIS中发布的,要么在已发布的网站文件夹中. WEN如何通过TFS中的发布可能性来实现这一目标? 我们尝试的是: 我们尝试更改工作流(默认模板 - >在代理上运行),但是我们为时已晚 我们的选择是什么: 当其他可能性失败时,我们会做XCopy,但我们想使用发布函数 请精确地描述解决方案,逐步描述解决方案,因为我阅读了许多教程,但它们并没有深入解释.最简单的解决方案获胜. ; - ) 解决方案 我们以以下方式修复了它: 我们还将最小化的JavaScript文件包括在相应的项目中. (这是需要在发布过程中部署的Min文件.) 在构建前事件中,我们删除了所有最小化的JavaScript文件: del
当前我使用Visual Studio数据库项目,因此我可以单击一键部署对数据库的更改,并将数据保存在数据库中. 现在,我希望能够在实体框架中创建模型并一键部署. 因此,我从实体框架中获得了SQL脚本来创建数据库.我可以运行此脚本来创建数据库,但是我想将数据保存在数据库中. 有什么方法可以做到吗?有什么工具会这样做吗?我应该用T4自己生成它吗? 我使用CI,因此我需要经常部署.我想要类似于Visual Studio数据库项目部署的东西,但是具有实体框架生成的数据库. 解决方案 要能够从实体框架模型中生成Visual Studio数据库项目,您需要安装 Entity Designity Designer数据库生成电源包. 您需要将数据库项目添加到解决方案中,然后使用相同名称创建EDMX模型.然后,右键单击EDMX工作区,然后从模型和Generation Menu 同步数据库项目中选择生成数据库. 然后,您可以将此SQL项目从Visual Studi
我将构建部署到登台后.我想拥有一个烟雾测试我们所有网页寻找错误HTTP状态代码(400,500)的系统. 将这样的系统最简单,最快的方法是什么. 如果我使用硒或webaii,似乎我必须做很多生成基本单元测试的工作. 理想情况下,ID希望能够为我所有页面自动化一个简单的测试,然后随着时间的推移构建一些更具交互式UI测试. 我真的不想使用WGET或其他东西滚动自己的解决方案. 我会感谢一些建议. 谢谢 解决方案 理想情况下,ID希望能够为我的所有页面自动生成一个简单的测试,然后随着时间的流逝构建一些交互式UI测试. 我不知道任何解决方案(这并不意味着它不存在),它将为整个网站自动做到这一点.除非您的网站主要由静态零件制成,否则导航不仅要遵循链接,而且总体上太复杂而无法自动执行此任务:导航通常涉及填充表格,提交表格,浏览结果,单击以查看一个特定项目的详细信息,等等,这需要一些人类的投入. 实际上,我会想到的是简化此任务的非custom
要使我的CMS正常工作,需要将其部署到www root下方的虚拟目录,以便它可以(通过反射)访问网站以进行管理(注意:CMS = N2CMS).当使用Visual Studio"发布到Web"时,一切都很好.但是,当我通过msbuild命令行生成软件包并发布该版本时,我的虚拟目录将转换为虚拟应用程序. 我配置了我的远程服务器以在我的IIS Web应用程序('extpleapp')下面具有虚拟目录'/n2',并在软件包/发布Web设置中配置了此路径( iis网站/应用程序名称我在Visual Studio中的项目中的目标服务器). 生成部署软件包: msbuild.exe myproject.csproj /T:Package 这将生成我的代码的拉链软件包以及MSDEPLOY CommandLine批处理文件(标准MSBUILD/MSDEPLOY目标). 生成的 setParameters.xml 包含以下内容:
im无法查看如何使用Docker实现零下降的部署. 假设我有一个运行 mywebapp 的PHP容器,由同一服务器上的 nginx 容器提供.然后,我更改一些代码,因为Docker容器是不可变的,我必须在代码更改的情况下再次构建/部署 mywebapp 容器.在执行此操作的过程中 以前我会使用Ansible或类似来部署我的代码,然后将新版本目录符合到Web dir ... Zero-Downtime! ! 是否可以使用Docker和单个服务器应用程序实现零停机时间部署? 解决方案 您可以使用nginx upstreams'>使用nginx upstreams'> S: upstream containers { server 127.0.0.1:9990; # blue server 127.0.0.1:9991; # green } location ~ \.php$ { fastcgi_pass containers; ... }
我正在尝试编写一个Robocopy命令,以将文件从我的本地计算机复制到我的任何部署服务器 ROBOCOPY ../../MyService/bin/release/ \\remote-computer\\C:\services\myservice /MIR 我得到这个错误 The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you. 这是可以预期的,因为我还没有在命令中包括任何类型的安全凭据. 有没有办法通过包括权限来使其起作用?我不想通过共享文件夹和类似内容来做到这一点.我看了看,但我看不到文档中的任何东西. 我应该用psexec之类的事情做到这一点吗?也许我应该使用PowerShell之类的东西? 解决方案 Can you please ta
我将设置一些工具/技术/环境,以便当我需要为第三方开发人员提供源代码时,我在没有GIT历史记录的情况下使用一些敏感的代码进行了编译和剥离.因此,我想自动化此过程,以便我始终提供最新版本的版本,而不会痛苦地每次通过双手执行所有必要的步骤. 我使用bitbucket和git. 如何使用Bitbucket和git实现我的目标?我还需要其他一些工具吗? P.S.如果不陈述这个想法,请随时编辑问题.我希望这个问题不会太广泛,也不会受到限制 解决方案 听起来好像您想编写一些post-commit钩子.但这可能对您来说太细腻了.只需将自动步骤写入.git/hooks/post-commit并使该步骤可执行.你可以 git --work-tree PATH_FOR_THIRD_PARTY checkout HEAD -- PUBLIC_FILES 在path_for_third_party中为您的第三方开发人员更新public_files,我假设您为第三方开发人员发布数据.
我们正在使用服务帐户将应用程序使用Travis部署到应用引擎. 在每一个合并的PR上,Travis都从我们的GitHub存储库中摘下代码,并从A docker image 包含Google Cloud SDK并执行gcloud app deploy命令.我们使用服务帐户执行"项目所有者"角色的部署. 用来正常工作的所有内容,直到我为自动化SSL证书生成和续订的项目添加了一项新服务,以及一个dispatch.yaml文件,以将流量从Let's Encrypt inter's Encrypt汇入域验证.我需要添加更多权限,以允许更新用于自定义域的SSL证书.我删除了当前的服务帐户,并使用新的私钥创建了一个新的帐户.除了先前的权限(全部appengine.*权限)外,我还具有所需的权限以更新和查看SSL证书的权限创建了一个新角色.我将新角色和分配给了新帐户.进行这些更改后,执行deploy命令时,部署将在以下错误中失败: Permissions error fetchin