我在C#/ ASP.NET中有一个目前正在开发的网站.当我们正在制作时,我希望在一天中经常发布,因为我们修复了错误并添加了功能(例如:http://toni.org/2010/05/19/in-praise-of -continuous-deployment-the-wordpress-com-story /).
如果您上传新版本的网站甚至更改单个文件,它会启动当前登录的用户并使其从任何表单等开始.是否有秘密能够在不干扰.NET站点用户的情况下进行部署?
我在过去几天一直在研究自动验收测试,了解BDD&JBehave,FitNesse&Slim,Selenium和WebDriver等.
我刚刚看到这个,他演示了如何使用FitNesse的编写和维护这样的测试视频由罗伯特C.马丁.接近尾声时,有人问这些测试是否会触及用户界面.Martin接着解释说,对UI的耦合验收测试成本很高,因为对UI的更改非常频繁.我还可以猜测,这些测试只能在UI开发之后编写,这将使测试人员按照定义落后于计划.
我不得不问:替代方案是什么?Martin似乎暗示测试应该是一个隐藏的层,它会操纵应用程序的业务层.我的理解是,这需要额外的工作,更不用说它会暴露一个新的API,需要在生产环境中保护一次.
可以通过应用程序服务访问业务层就足够了吗?
你有什么经验吗?
感谢分享!
我知道在开发过程中,构建工件会放在快照存储库中.
当产品需要进行QA测试时,团队是否会从快照存储库中提取?或者他们是否进行完整构建,部署到发布存储库,然后从那里将其提供给QA?
此外,如果我的快照存储库包含每个构建的所有构建工件,那么这通常如何清理?我可以看到从构建服务器保留最后5个构建,但不是每个构建服务器.如果有帮助,我正在使用Artifactory.
continuous-integration ivy artifactory continuous-deployment
我有一个Node.js应用程序,它使用CodeDeploy AWS部署系统通过Codeship自动部署到Amazon Web Service.
在部署过程中,我在appspec.yml中设置了要停止的当前运行的Web应用程序.部署完成后,我希望再次启动Web应用程序.
os: linux
files:
- source: /
destination: /var/www/app2
hooks:
AfterInstall:
- location: bash_scripts/stop_forever.sh
runas: ec2-user
ApplicationStart:
- location: bash_scripts/start_forever.sh
runas: ec2-user
Run Code Online (Sandbox Code Playgroud)
但是,在部署期间,我还无法从appspec.yml文件中成功调用这些脚本中的任何一个.
我在AWS部署代理日志中看到的当前错误是
Error CodeScriptMissing
Script Name /var/scripts/stop_forever.sh
MessageScript does not exist at specified location: /var/scripts/stop_forever.sh
Log TailLifecycleEvent - ApplicationStop
Run Code Online (Sandbox Code Playgroud)
这似乎是指旧版本的appspec.yml文件,它试图在不同的位置运行这些脚本.即使我已更改已部署包中的appspec.yml文件的内容,此错误消息在每次部署时保持不变.
除了上面列出的appspec.yml文件,我还尝试进行以下更改:
不幸的是,除了AWS文档之外,appspec.yml故障排除方面的在线数量非常少.
我做错了什么非常明显的事情?
continuous-integration yaml continuous-deployment codeship aws-code-deploy
我正试图从我目前的工作中触发下游工作
pipeline {
stages {
stage('foo') {
steps{
build job: 'my-job', propagate: true, wait: true
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
目的是等待工作结果,然后根据结果失败或成功.詹金斯总是对这条消息失败Waiting for non-job items is not supported.上面提到的工作没有任何参数,并且使用multibranch管道插件定义为我的其余工作.
我能想到的是,这种类型的jenkins项目不支持作为构建步骤输入,但这似乎违反直觉并且会被证明对我来说是一种阻碍.任何人都可以确认这是否确实如此?
如果是这样,有人可以提出任何变通方法吗?
谢谢
随着最近发布的Apple软件,我找不到任何使用新的Xcode 6.1,OS X Server 4和TestFlight(Apple的alpha/beta分发平台)进行持续集成和部署的最新解决方案.经过几个小时的挫折,我能够让一切顺利进行.我分享这一点,希望我可以挽救你们中的一些人不必这样做.
这篇文章是Matt Vlasach在这里找到的博客文章的更新版本.
无论如何,这是步骤......
1.创建和分享新计划
2.配置Scheme Archive Post-action
3.将分发标识和配置文件安装到OS X Server上
注意:这些步骤应在运行OS X Server的Mac上完成
4.更改代码签名资源规则路径
注意:此步骤是Xcode问题的解决方法,似乎已在Xcode 6.1中重新引入
$(SDKROOT)/ResourceRules.plist"代码签名资源规则路径"5.提交对远程存储库的更改
6.创建和配置Xcode Bot
注意:这些步骤应在运行OS X Server的Mac上完成.此外,如果您使用SSH访问项目的git存储库,则有大量资源可指导您完成其他步骤,以便允许您的Xcode机器人访问您的存储库.
完成这些步骤后,您应该看到bot运行集成,它应该从远程存储库克隆您的项目,构建它,并将其上传到TestFlight!
注意:如果您正在使用CocoaPods,则在创建新方案时,请确保将目标设置为工作区.此外,由于Xcode机器人和CocoaPods仍然无法很好地协同工作,因此您的.gitignore中没有与CocoaPods相关的任何文件.有解决方案可以防止必须跟踪存储库中的所有这些文件,但我还没有找到可靠的解决方案.
continuous-integration continuous-deployment osx-server testflight xcode6
我有一个在NodeJS中开发的API,并通过.gitlab-ci.yml文件成功建立了持续集成.如果所有测试都在主分支上传递,则下一步是设置到Heroku的连续部署.
有很多关于Ruby和Python应用程序部署的教程,但NodeJS上没有任何内容.目前我的.gitlab-ci.yml文件看起来像这样:
image: node:latest
job1:
script: "ls -l"
test:
script: "npm install;npm test"
production:
type: deploy
script:
- npm install
- npm start
- gem install dpl
- dpl --provider=heroku --app=my-first-nodejs --api-key=XXXXXXXXXX
only:
- master
Run Code Online (Sandbox Code Playgroud)
Ruby和Python教程使用该dpl工具进行部署,但是如何在部署后在服务器上启动NodeJS脚本?
添加生产部分并推送它之后,测试运行并通过,但部署阶段卡在挂起状态.控制台是空白的.有没有人为NodeJS设置成功的CD脚本?
我们当前的CI部署阶段的工作方式如下:
"latest"和< commit hash >.这对于基于RC的部署非常有用,但是现在Deployment对象变得更加稳定并且是一个底层功能,我们希望利用这种抽象优于当前的部署方案和开发阶段.
我遇到的问题是找到一种理智的方法来自动更新DeploymentCI工作流程.我一直在尝试的是拆分git repo并执行以下操作:
"latest"和< commit hash >.Deploymentrepo的构建,传递当前的提交哈希.image: app-%%COMMIT_HASH%%)Deployment资源.当然,虽然有更好的方法来处理这个问题.如果Deployment监控图像的"最新"标签的哈希变化,那将会很棒......也许它已经存在了?我没有成功.如何更好地处理部署的任何想法或见解Deployment将不胜感激:)
我正在尝试使用Git来管理许多Windows服务器上安装的产品.这是当前状态:
master分支机构上,当我(作为开发人员)推送提交到masterGit服务器上的分支时,以下是我想要实现的:
我有什么选择?有没有软件或我必须建立自己的软件?我检查了Git钩子,但是在我手动拉动每个服务器上的代码之后它们似乎触发了.
git deployment continuous-integration github continuous-deployment
我正在使用heroku和git在rails网站上开发ruby.
我应该使用哪些工具和功能来设置以下简单的开发过程?
代码>登记>自动测试>自动部署
你会怎么做?
git continuous-integration ruby-on-rails heroku continuous-deployment
git ×2
heroku ×2
.net ×1
artifactory ×1
asp.net ×1
c# ×1
codeship ×1
deployment ×1
github ×1
gitlab ×1
gitlab-ci ×1
ivy ×1
javascript ×1
jenkins ×1
kubernetes ×1
node.js ×1
osx-server ×1
qa ×1
testflight ×1
xcode6 ×1
yaml ×1