我们的团队正在调查我们项目中静态分析的各种选项,对于我们是否希望我们的持续集成构建由于静态分析的警告而失败,我们的观点有分歧
反对构建失败的理由是,规则中经常存在例外情况,试图绕过这些规则以使构建成功会降低生产率。更好的方法是使用构建生成报告,并定期将开发人员的时间用于解决报告的问题
相反的观点是,如果不立即解决缺陷,技术债务很容易累积。此外,如果在引入潜在bug时构建失败,那么修复它所需的时间就会减少
你的想法是什么?就个人而言,我宁愿看到构建失败。虽然有些警告是误报,但可以使用Suppres
我们的系统中有许多小项目在Linux上运行(Slackware 7-11,慢慢地迁移到RHEL 6.0)。大约50-100个应用程序和15-20个库。几乎所有的应用程序都使用一个或多个库。我们的源代码树如下所示:
/app1
/app2
/app3
/include
/foo/app4
/foo/app5
/foo/app6
/foo/lib1
/foo/lib2
/lib/lib3
/lib/lib4
/lib/include
现在,我已经做了一些工作,创建了一些CMakeLists.txt
因此,我在我的github上进行了一个开源项目的持续集成
对于这个项目,我决定运行集成测试,
作为CI的一部分
现在因为集成测试使用单一的有限资源,
我一次只能跑一个
因此,我将AppVeyor和Travis都设置为一次只运行一个构建/测试。
但他们彼此都不了解
处理这种情况的明智方法是什么
我目前的想法是获得有限资源的第二个实例,这样我就可以同时拥有这两种资源。
但这有点贵;(对于某些费用值)。您可以使用Appveyor REST API()使Travis等待Appveyor构建完成。下面是P
我们即将为我们的云服务设置Prometheus以进行监控和警报,包括Prometheus服务的持续集成和部署管道以及警报规则/阈值等配置。为此,我考虑了3个类别,我想为它们编写自动化测试:
在部署期间对配置进行基本语法检查(我们已经使用和执行了此操作)
在部署期间测试警报规则(导致警报的原因)
测试部署期间的警报路由(谁会收到关于什么的警报)
定期检查警报系统在生产中是否正常工作
目前对我来说最重要的部分是测试警报规则(第1类),但我还没有找到可以做到这一点的工具。我可以想象在部署过程中设置一个
我们有三个主要分支:development、releases/xyz和master。这反映了从开发到发布候选到生产的流程
我只想在从releases/*到master发出合并请求时触发作业。我需要阻止对master的所有其他合并请求,例如阻止直接从development合并到master
Gitlab CI是否仅在分支为master且原始分支与releases/*匹配时才支持触发器?Gitlab目前不支持为合并提交触发管道。因此,它也不支持仅为某些合并提交触发管道
有两种方法可以区分合并提交和正
我已经在Ubuntu(16.04)上成功安装了Concourse(5.7.1)。所有内容都找到了,但在部署作业中添加了一个脚本来调用在安装了concourse的同一台机器上运行的restful服务后,我得到了
错误:无法连接到xxx.xxx.xx.xx端口9090:没有到主机的路由
我已经能够从其他来源调用restful服务。
我截获了作业,无法拨打服务电话,但我可以ping外部电话很抱歉,我花了这么长时间才回复。如果其他人也有同样的问题。我通过重新启动服务器成功地解决了这个问题
我不知道梅到底
我用lerna来管理monorepo。
我有这样的结构:
包裹
--应用程序
--依赖性1
--依赖性2
应用程序使用dependency1和dependency2,dependency1也使用dependency2。
这里我们要部署的主要内容是应用程序,假设它是一个webapp
所以,如果我想在本地工作,我会运行lerna bootstrap。这将在每个包中安装依赖项并将它们链接起来,以便在开发过程中看到更改
现在,我承诺并推动我的回购协议(gitlab,但对任何其他协议都是一样的)。也许我错
为我的Android repo生成APK文件后,我希望GitHub CI向我发送一封电子邮件,通知我已生成工件。所以这里我有一个动作来检查APK名称是否存在,不管结果如何,给我发一封电子邮件。这些工件已成功生成,但我收到电子邮件说它们不存在
我的脚本出了什么问题?您正在使用app/build/outputs/apk/debug/app debug.apk作为上载路径,但另一方面,您正在检查app debug.apk是否存在。我重新编写了逻辑,它现在正在工作。谢谢你的回答
- name
在我尝试过的示例场景中,下面是.gitlab ci.yml文件的代码片段:
阶段:
-环境大楼
构建Openstack:
阶段:环境大楼
变量:
RCB:${RCB}
烟雾:${SMOKE}
APNCC:${APNCC}
TF_WORKING_DIR:${OPENSTACK_TF_WORKING_DIR}
环境前缀:${OPENSTACK\u环境前缀}
SELENIUM\u VM\u密码短语:${SELENIUM\u VM\u密码短语}
SELENIUM\u VM\u用户名:${SELENIUM
我使用cruisecontrol.rb进行CI,使用FogBugz进行bug跟踪,但答案越笼统越好
首先是技术问题:FogBugz有API吗?是否有好的教程,或者更好的预编代码
第二个是程序问题:当构建中断时,CI到底应该在bug跟踪器中放置什么?也许:
标题:“{last committer}破坏了构建!”
正文:“#{错误跟踪}”
我想这是对这个问题的回答的先决条件:我是否应该在我的bug跟踪中加入CI中断?CC附带了一个实用程序,当构建失败时会向您发出警告,它可能不值得在FogBugz中记
如何在我的ccnet配置文件中指定如何进行每日构建?您设置了scheduleTrigger:
<triggers>
<scheduleTrigger time="23:30" />
</triggers>
每天晚上11:30运行该项目
CC.Net每天都在为我们创建许多构建。偶尔,我们会做一些手动冒烟测试,然后一个构建就变成了QA放弃(或者发布候选版本,如果您愿意的话)。QA删除只会复制到删除服务器
我想根据现有的成功构建,自动执行qa drop copy nant脚本。我该怎么做?用一种更广泛的方式来表达我的问题,人们是如何从一组成功的构建中自动发布到QA的
我设想一个带有标签“QA Drop”的额外按钮,可以触发脚本。它可能位于“强制”按钮旁边(用于发布上次生成),甚至可以在每个生成报告页面上使用(用于发布任何生成)
谢谢
只有在构建和单元测试成功的情况下,才有办法将文件复制到stageing服务器上的临时目录吗?当然,只需将其作为NAnt脚本中的最后一件事。注意,我的答案是面向Maven2的,所以我不能完全肯定它是否能帮助您解决问题,但可能对Java开发人员有所帮助
在Maven2中,如果任何单元测试失败,构建就会失败(但是,即使测试失败,您也有参数使构建成功)
然后,您可以附加一个Ant任务,该任务将一些文件复制到一个目录中。如果在包阶段附加此Ant任务,它将在编译和测试阶段之后运行,然后仅在这些步骤成功时执行
使用,如果我只有一个目标平台,我可以使用一台机器(作为主机和从机)吗?我们没有问题
我们只是像往常一样启动“被咬的奴隶”,但是在主服务器上
如果遇到任何困难,请毫不犹豫地详细说明
我有一个复杂的脚本,Jenkins在构建时执行,它需要检查/var/log/syslog中的事件。为此,我将用户“jenkins”添加到syslog所属的组中,并将文件权限设置为0640
上面的脚本在手动执行时运行得非常好,但在Jenkins build system调用时失败:事实上,输出控制台显示,当通过Jenkins调用时,脚本没有读取/var/log/syslog的权限
不过,通过whoami的快速检查可以看出,构建过程是以“jenkins”作为用户运行的。因此,我无法理解脚本行为为何不
我将专用MacMini与OSX服务器配置为与XCode5的持续集成,添加了GitRepo并创建了机器人程序。我正在尝试集成bot并获得错误
Specified PROVISIONING_PROFILE (29DAD4E2-6155-4395-AF33-2C872BC32504) not
found and no CODE_SIGN_IDENTITY specified. Ignoring PROVISIONING_PROFILE
for now. This will become an er
如果项目分支当前为绿色(没有失败),如何签入CircleCI
我已经查看了单个项目的最新版本和“状态”字段,但是当我尝试时
curl 'https://circleci.com/api/v1/project/rocky/libcdio-paranoia?&limit=20&offset=5&filter=completed'
我得到一个列表,状态显示“失败”。可能在某个地方出现了故障,但我只对最新版本感兴趣。您很接近。做
curl 'https://circleci.c
我正在尝试使用VSTS(发布中心)配置发布管理。我有三种不同的环境;每个环境包含两个服务器
拟议的排放管道:
Zone1_-Dev->Zone1_-QA->Zone1_-PROD(每个分区包含两台服务器)
谈到“Zone1_-Dev”环境,它在同一网络中包含两台服务器A和B
我的解决方案中有两个web应用程序,每个服务器将承载不同的应用程序:
服务器A承载客户端UI(MyClientUI)
服务器B承载管理UI(MyAdminUI)
因此,我为每个应用程序创建了两个不同的构建定义,因为我希
我正在使用ReSharper中的命令行工具InspectCode.exe,但无法获得与通过Visual Studio运行ReSharper时相同的输出
我目前在Visual Studio 2013上安装了ReSharper Ultimate版本10.0.1,并手动编辑了我的检查严重性设置,以忽略某些对我的团队来说不是问题的问题,或者在编译或运行时不会影响我的解决方案的风格首选项。这保存在C:\Users\%username%\AppData\Roaming\JetBrains\Shared\vA
在决定开始提问之前,我读了很多文章(关于flyway和stackoverflow)。主要解决方案是如何使用maven和flyway surround在flyway 3.0版周围设置pom以执行多个数据库
我需要使用不同的用户帐户连接到多个模式,并使用flyway执行完全不同的SQL
我试图按照设置pom,但它无法识别多个执行标记和id。它会抛出错误消息
[错误]无法在项目flyway_001:org.flywaydb.core.api.flywayexe上执行目标org.flywaydb:fly
我们已经将我的gitlab更新到8.17,我们在一些项目中集成了jetbrains Teamcity CI。
我注意到,在合并请求中,现在只有提交链接可用
有没有办法回退构建链接
在旧版本中,它就像:
在8.13(或8.x.我不记得了)中,它是这样的以前是如何添加构建链接的?您是否使用TeamCity的提交状态发布服务器()?@Yaegor我已将图片添加到主题中。我们还没有使用Teamcity提交状态发布程序。但我们会的,我认为问题(和解决方案)似乎完全站在GitLab一边,而不是TeamC
我正在寻找一些关于构建就绪报告工具的建议,该工具可以自动创建包含以下内容的报告:
A构建开放缺陷
构建中的用户故事/需求
A生成测试结果
缺陷、测试用例和需求的跟踪能力(相互之间)
其他各种与源代码无关的文档(即它们是否在存储库中?)
我们使用Github和RationalTeamConcert作为我们的SCM工具。我一直在寻找像Jenkins这样的工具,但我想看看还有哪些其他工具 几乎所有这些都可以由rationalteamconcert处理。这假设您正在使用RTC的工作项进行跟踪
您可以针对
我正在为詹金斯使用Jira插件。
无法运行JQL查询。
我正在尝试搜索特定项目,并使用以下示例:
node {
stage('JIRA') {
withEnv(['JIRA_SITE=*****']) {
def issues = jiraJqlSearch jql: 'PROJECT = ****'
echo issues.data.toString()
}
}
}
但是我越来越
JIRA: Site - **** - Search JQL:
我在五号广场工作。在Amazon中,我的应用程序有三种不同的环境:开发、暂存和生产。我是否也需要在大厅中定义3个团队?除非我们需要用户角色管理,否则没有必要为舞台定义单独的团队。在大多数情况下,默认团队(main)对于通常的功能来说是足够的,并且是首选的。您希望实现什么?
这有点不合常规,但我正在尝试设置一个涉及3次回购的自动化测试套件;iOS/android应用程序repos和另一个用于使用appium的python测试的应用程序。一切都是手动工作的,但现在我们想用github操作或circleci来设置它
这是我心目中理想的工作流程;我们的前端开发人员在GH上创建了一个新版本,该版本发送一个触发器,该触发器创建一个新的应用程序构建,然后触发将在该新构建上运行测试的测试repo
我已经能够通过GHA repo dispatch设置工作流,其中一个repo操作会在
正如标题所提到的,我想知道,在云构建步骤中,我是否可以启动并使用pubsub模拟器
options:
env:
- GO111MODULE=on
- GOPROXY=https://proxy.golang.org
- PUBSUB_EMULATOR_HOST=localhost:8085
volumes:
- name: "go-modules"
path: "/go"
steps:
- name
只有当上游管道中的工件不可用时,我才尝试触发下游管道。我正在使用Gitlab CE v13.5.1
这个想法是:
预构建阶段:从nexus卷曲并检查工件是否正确
可用。如果是,请不要运行下游触发器,否则请运行
它
为了实现这一点,当curl失败时,我将创建一个伪exists.txt文件,该文件随后将在后续阶段的exists条件中使用
仅当存在exists.txt时运行触发器。但是,问题是无论exists.txt是否存在,触发器都会一直运行。也就是说,触发阶段的存在条件不起作用
以下是gi
持续集成是否需要CI服务器?为了促进持续集成,您需要自动化构建、分发和部署过程。这些步骤中的每一步都不需要任何专门的CI服务器。可以通过文件通知和其他低级机制来协调这些活动;但是,协调这些步骤的数据库驱动后端(CI服务器)大大提高了系统的可靠性、可扩展性和可维护性。您不需要专用服务器,但某种类型的构建机器是非常宝贵的,否则,没有一个中心位置可以始终构建和测试代码。尽管您可以使用开发人员机器模拟这种影响,但是存在与该机器上正在更改的代码重叠的风险
顺便说一句,我使用的是Hudson,它重量很轻,运
我有一些失败的构建,从CCNET发送的电子邮件中缺少构建数据
它包含测试运行和修改,但没有生成或错误数据
我不认为我把xsl搞砸了。。有什么想法吗
更新:
是的,我看过
是的,在发布者部分,我在发送电子邮件之前打电话给xmllogger
更新:
我不确定这是否意味着什么,除了。。它在compile.xsl中查找
/cruisecontrol//构建结果//消息
但是没有“buildresults”节点
就这样
cruisecontrol-->生成-->msbuild(然后是警告、项目、消息等)
我知道在开发过程中,构建工件被放置在快照存储库中
当产品需要到QA进行测试时,团队是否从快照存储库中提取?或者他们是否进行完整构建,部署到发布库,然后从那里将其交给QA
另外,如果我的快照存储库包含每个构建中的所有构建工件,那么通常如何清理这些工件?我可以看到从构建服务器保留最后5个构建,但不是每一个。如果有帮助的话,我正在使用人工制品 意见不一,以下是我的方法:
快照是为开发人员准备的
通常用于“一次性”构建。我从CI服务器发布它们,由提交到源代码的更改触发。快照构建的目的是共享来自特定团队的
启动远程代理时出现以下错误:
INFO | jvm 1 | 2012/11/20 01:15:58 | 2012-11-20 01:15:58,235 INFO [WrapperSimpleAppMain] [RemoteAgentHomeLocatorForBootstrap] Agent home located at '/Users/user9066/bamboo-agent-home'
INFO | jvm 1 | 2012/11/20 01:15:58 | 2012
我正在学习前端开发。我读过好几次有人提到持续集成工具,比如jenkins server或travis CI,在谈到开发工作流时
据我所知,使用CI的目的是在每次提交到中央存储库时进行测试。但是,每当我对代码库进行任何更改时,我已经设置了grunt和测试任务
在我看来,没有必要使用CI,因为本地grunt测试任务已经为我解决了所有问题。即使我使用CI,我认为在每次提交之前,我们应该始终使用本地自动化任务来运行测试,以确保没有错误。那么使用CI的目的是什么?即使您进行了本地单元测试,使用CI/CD服
在项目块的ccnet wiki中,workingDirectory我读到:“确保每个项目的此文件夹是唯一的,以防止生成问题。”我想做两个具有相同工作目录的项目。。。可能出现的“构建问题”是什么?我如何克服这些问题
编辑:
我的情况:我在同一个主干中有两个应用程序,它们有一些共同的代码,但如果我对其中一个应用程序进行了提交,我不希望另一个应用程序生成并增加其版本号,但如果我对共同的代码进行了更改,我希望它们都触发生成。我的源代码管理是SVN,我只包含我想要触发构建的文件。工作目录是Cruise c
我正试图通过团队服务实现解决方案的持续集成。我的解决方案在本地构建,没有任何问题。Nuget安装时生成过程失败:
Error: D:\a\_tasks\NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b\0.2.29\node_modules\nuget-task-common\NuGet\3.5.0\NuGet.exe failed with return code: 1
Packages failed to install
solutio
如果当前版本在任何时候失败,Jenkins是否可以部署上一个成功版本的工件?如果是,怎么做
我目前正在使用rsync从工作区部署文件,作为构建步骤之一
我知道有一个名为BuildResultTrigger的插件,我猜我可以使用它,但我不知道如何访问存档的工件,并告诉我当前的构建哪一个是最后一个成功的构建。我建议在部署时复制已经部署的(成功构建并测试过的)插件版本到部署计算机上的某个位置
然后,在Jenkins上运行测试时(假设您使用命令行启动测试):
这将在失败时为您提供错误的退出状态,并重新部
最近开始进入GitSwarm,目前正在考虑在git push交付后执行持续集成作业时,是否可以使用相应的Performce提交的变更列表编号(以符合公司的应用程序版本编号政策)
有没有一种简单的方法可以做到这一点(可能只是在.gitlab ci.yml中使用的一些方法,但例如ci\u COMMIT\u SHA看起来一点都不友好)或者我必须显式地使用p4命令执行(在作业描述的脚本:部分的某个地方)来获得修订
顺便问一下,GitSwarm中实现版本唯一编号的替代方案是什么(例如,我的iOS或Andr
在CI设置中,我使用以下命令:
docker run -v /etc/hosts:/etc/hosts -v $(pwd):/zap/wrk:rw -t owasp/zap2docker-weekly \
zap-api-scan.py -t openapi.json -f openapi -c .zap-baseline.conf -d
它应该根据openapi.jsonswagger/openapi定义文件进行扫描。从python代码中我可以看到。但它似乎无法从
各位好,飞越者
我最近一直在用GIT在VST上玩CI-CD。我有一组涉及安全文件的构建任务。我使用“下载安全文件”任务在构建时访问这些文件。但是,我想知道是否有方法提交这些文件或至少从我的开发环境中自动更新它们。目前,这些文件需要手动上载,这是错误的。
现在感谢您,无法自动更新安全文件。您需要手动上载安全文件
上载已存在的安全文件名时,需要删除现有文件名并添加同名的新文件名
还有一个用户声音建议使用此功能,您可以投票并跟进。您可以使用API删除和上载库中的安全文件
对于安全文件删除,请使用PUT
使用MSBuild使用TFS联机创建DevOps CI/CD时
我在单一解决方案下有两个项目,一个是web项目,另一个是web静态项目,负责CSS/JS/images
1个Web DevOps msbuild和Release工作正常,没有任何问题,但2个Web静态项目未将minify.targets创建到xx.min.cs或xx.min.js中。在当地环境中也能很好地工作
<PostBuildEvent>C:\WINDOWS\Microsoft.NET\Framework\v4.0.
我试图将travis与我的Github项目集成,但有点困惑
不确定我登录-org或com时最初在哪里设置帐户
现在,当我通过org或com登录时,我看到我的构建为项目成功运行
-最新生成失败
-最新构建成功
我从.com收到邮件说我的构建失败了,但当我转到.org时,它成功运行了。我不知道如何解决这个问题
请告知。在travis-ci.org上,转到“设置”,您将看到“遗留集成”。查找有问题的存储库,并使用“滑块开关”取消选中它
我的appleid已启用双因素身份验证。对于连续集成,我们使用Fastlane工具
Available session is not valid any more. Continuing with normal login.
Two-factor Authentication (6 digits code) is enabled for account 'my.account@gmail.com'
我能做些什么来解决这个问题
在您的计算机上,当CI运行时,转到终端并键入以下命令:
fastla
我看到有几种方法可以触发CI
即使是合并请求
我想做的是触发一个gitlab CI管道,不是针对所有合并请求,也不是针对所有提交。
只有当有人评论时:
“test please”或“test gitlab”或某些特殊关键字可能由正则表达式定义
这可能吗?是在中请求的,并随11.0一起提供的
rspec:
script: ...
only:
variables:
- $CI_COMMIT_MESSAGE =~ /some-regexp/
对于管道(windows c
作为构建过程的一部分,尝试使用新EV证书自动签名。我有一个eTokenSign工具,由draketb在中描述,由Harald Goci在中修改,工作完美。。。从命令行。但是,当我试图从构建过程内部执行它时,它永远无法在存储中找到证书。消息始终为“找不到匹配的要签名的证书”
第一篇帖子中的一些人在评论中提到,他们也遇到过这种情况,但他们对如何解决这个问题含糊其辞
我试过了
将生成代理作为本地服务而不是其自己的用户帐户运行
在.msbuild文件中以exec命令的形式运行sign命令
从作为自定义
每次我尝试使用TeamCity使用rake构建.NET解决方案时,我都会收到相同的结果
"Format_exception_msg : Invalid escape character syntax: /path to rakefile/ (RegexError)
我的自然假设是,事实上,我的rake代码中的某个地方有一个无效的转义字符,我承认我以前从未使用过ruby或rake,但是脚本本身执行时没有问题,并且在没有使用teamcity的情况下在命令行上执行时表现出应有的行为
此外,我还慢慢地
我正在从零开始建立一家公司(Tomcat+Spring Rest+Java),因此我们有足够的时间做一些正确的事情(或者在列表中不要重复我们过去的错误),我们想要实现的目标之一是能够自动构建、测试(单元、集成)和部署
我们的平台是由一个静态HTML/JS接口站点和几个API服务器(不同的应用程序)构建的,其中一些是公开的,一些只能通过公开的API应用程序从服务器场内部访问
我选择TeamCity作为CI服务器,因为我对它有点熟悉,而且到目前为止,我对Jetbrain的所有产品都有很好的体验
到目
我的用例如下:我想在更新分支后将PHP应用程序部署到docker,然后让它运行以进行手动测试
所以我想在某个URL下访问它
到目前为止,我所做的是创建一个gitlab docker runner
gitlab-ci-multi-runner register --url "https://git.example.com/ci" --registration-token xxxx \
--description "dockertest" \
--executor docker
在ci/cd环境中,我希望能够将包更新或降级到特定版本。要使用yum执行此操作,需要知道已经安装的packge版本,例如可以使用yum安装安装新软件包或更新到新版本。可以使用yum-grade将其替换为早期版本
有没有一种方法可以使用一个命令来安装特定版本的软件包
背景:我们不断向artifactory上的yum channel添加新的软件包版本,因此我们的yum channel并不真正反映稳定状态。通过一次yum安装,应该能够安装或降级特定的软件包-
应该能够通过一个yum安装来安装特定的软件
我有一个前端构建和部署,我想在circleci和node上运行。部署部分需要一个带有api密钥和密码的配置文件,我不想将其存储在git中。如何将配置文件添加到构建中?免责声明:CircleCI的开发者福音传道者
CircleCI配置文件本身将存储在Git中。API密钥、密码和机密将通过CircleCI UI存储。不是CircleCI配置本身,而是部署过程中节点包需要的另一个配置文件。如果它足够小,base64将编码并存储在私有环境变量中。如果不是,则只存储秘密位或加密文件并将密钥存储在私有环境变
考虑一个带有预构建和构建阶段的虚拟gitlab作业
stages:
- prebuild
- build
预构建阶段的唯一任务是为以后的阶段创建和缓存依赖项。只有在pythonrequirements.txt文件发生更改时才会触发prebuild阶段。build阶段有一个pull的cache:policy,这意味着它对缓存遵从prebuild。例如,假设缓存由单个文件的共享文件组成sharedfile:
prebuild_job:
cache:
policy: pull
我正在尝试将CI添加到使用一组用bash编写的构建脚本的项目中。脚本多次提示输入配置信息(设置标志、设置参数等)。Github操作是否有自己的命令来处理此问题,或者是否有方法设置expect脚本(或类似的内容)?当前没有允许在工作流运行期间提示手动输入的功能。请参阅社区论坛上提出的类似问题
以下是您可以探索的一些选项:
重新设计脚本以读取配置文件,并将其签入git以触发构建
使用事件创建一个工作流,您可以从操作UI手动触发该工作流并提供输入参数。有关更多详细信息,请参阅
用于使用带生成输入参数参
1 2 3 4 5 6 ...
下一页 最后一页 共 24 页