Articles of 持续集成

Google云端平台持续整合

即时通讯开始在GCP和即时通讯尝试找出一种方法来获得新鲜上传的docker集装箱部署到我的Kubernetes集群。 即时通讯使用Bitbucket来build立和部署(工作!),但整个过程大约需要4分钟…主要是因为滚动更新的命令,需要一段时间完成…大约3分钟。 kubectl rolling-update <cluster-rc> –image=<docker-image> –image-pull-policy=Always 有没有办法加快GCP的部署过程? 我知道你可以提交到某些分支来触发docker容器的构build,但我可以使用谷歌也部署它? 这样我的构buildpipe道将会更快。 我每个月只得到50分钟的bitbucketstream水线; 当你的学习和不断失败的build设,这不是很好。 编辑: 这是在bitbucketpipe道中运行的代码: pipelines: default: – step: script: – echo ${GOOGLE_CLIENT_SECRET} | base64 -d > client-secret.json – gcloud auth activate-service-account –key-file client-secret.json – gcloud container clusters get-credentials <cluster-name> –zone <cluster-zone> –project <project-name> – export IMAGE_NAME=<image-name-and-tag> – docker build -t $IMAGE_NAME . – docker tag […]

Linux主机configuration进行连续部署?

我们正在build立一个持续部署的主机。 每个应用程序运行在自己的用户帐户下。 目前我们正在研究的方法只是允许持续的构build机器为了部署的目的而具有公共密钥到该应用程序的帐户。 有人担心这可能会造成一个漏洞,所以我们试图看看是否有办法降低风险。 由于我们的第三方构build服务的聚集性,限制对IPv4块的访问并不是真正的select,所以我们需要考虑其他风险缓解方法,作为我们部署过程的一部分。 我不希望持续部署的好处损害我们的生产环境。 任何人都可以提出可以为CI机器提供工作能力的方法,同时确保我们不会打开安全漏洞。 在您尊重的环境中使用的理想方法,以避免纯粹的理论方法。 部署主机使用基于Ubuntu 16.04.2 LTS的VM,通过ssh访问。 服务器将托pipe一个面向基于HTTP的应用程序的Web。

从专用服务器迁移到Azure

我是一个小公司的基础架构领导者,实际上我正在将我们的托pipe服务器迁移到云平台。 这是我们的Web应用程序进程: 在VS2010上开发 – >使用SVNpipe理代码 – >在专用IIS上部署Web部署 我们的应用程序需要部署在具有RDP访问权限的服务器上,以让其他人pipe理它所使用的数据。 应用程序不是独立的,需要在具有持久存储的服务器上部署。 我的问题很简单,是否有可能将此过程整合到Azure中,以便获得类似以下内容: 在VS2017上开发 – >使用集成Azure解决schemepipe理代码 – >在Azure上部署testing和validation – >在Azure Windows计算服务器上托pipe的IIS上更新特定目标应用程序。 或者我需要以另一种方式来做? 如果我问你而不是自己testing,那是因为我没有所有的工具来完成它。 非常感谢您的澄清!

如何将前端项目与抢劫者整合?

乍看之下,将项目导入plunker只需要把它推到github。 但是有一些问题: 为了使网站工作,需要调用“npm install”(和其他一些命令) 但是调用'npm install'会导致创buildnode_modules文件夹,不应该将其上传到github。 有没有办法解决这个问题与闯入者?

构build持续集成服务器时需要考虑的事项?

我是新来的持续整合,但马上意识到它的价值,我想立刻build立一个。 我已经和TeamCity一起玩过,并且在虚拟机上工作。 现在,我不想在另一个系统上花钱,所以我打算在一台更快的机器(即我的开发系统)上再次做VM。 有几个问题想到这一点: 硬盘分配 – 应该多大? 当然,60GB似乎绰绰有余,但人们也曾经认为,我们永远不会需要超过64KB的RAM 备份 – 备份集成服务器甚至非常重要吗? 当然,我想这很好,所以不需要再经历整个configuration过程,但是我认为就是这样。 每当我进行configuration更改时,我都可以快照我的虚拟机,然后仅对应用程序进行备份(忽略buildAgent)。 迁移 – 如果我想离开我的开发系统上的一个虚拟机,到一个新的服务器,甚至可能运行Windows Server 2003,是不是很容易? 也许这是一个最适合StackOverflow的特殊点。

juju在本地服务器上+封装我自己的应用程序服务器定制的魅力

在开始之前我对juju很感兴趣,我想问几个问题。 juju只能用于Ubuntu吗? 有可能与CentOS一起使用吗? 我有我自己的应用程序服务器,我可以把它包装在一个魅力,并将其部署在我的本地juju云? (我不会把我的魅力发布到OpenStack,因为它是一个合适的服务器代码,如果是的话,有人可能会指示我可以如何实现这样的事情?)我的服务器是用java构build的。 ubuntu服务器+ juju的全部function总是免费的吗? 你会推荐我哪些技术来编写我的应用服务器安装程序(我将继续在我自己的云上进行部署,也许与juju)。 我在ubuntu论坛上问过这个问题,但是没有人回答我… 谢谢

在Git Push上执行cURL

我对运行Git服务器很陌生,在推送Git时需要触发Jenkins构build。 一个教程说要做这个命令: curl http:// [jenkins] / git / notifyCommit?url = [job] 但它并没有告诉你如何在git推动下触发这个cURL。 我读这个错吗? 如果不是,我该怎么做? 如果我是,我该怎么做这个命令呢?

多阶段CI监控,或者如何将部署步骤拆分成可控的块

首先,我并不是在寻找一个产品推荐(当然了,但是我更喜欢寻找问题的解决scheme,而不是试图从现有的列表中挑选某些东西) 环境:我正在使用Jenkins来运行一个复杂的,多阶段的工作。 作业创build和configuration服务器,在其上部署操作系统和应用程序堆栈,使用演示数据填充堆栈,运行标准testing,然后执行一些额外的负面testing,然后使用更多configuration的服务器扩展堆栈,并运行更多testing。 问题:在这些阶段的任何一个阶段都可能发生失败,无论是记者configuration不当还是完全失败。 无论哪种方式,我可以在jenkins做两件事之一 – 退出(1)或继续下去,将问题倾倒到控制台。 两者都不是很好,因为我最终会得到一个不完整的工作(如果我退出),或者有一个很好的绿色误报,为了确保它是真正的绿色,我必须阅读几个从日志安慰。 我在寻找什么:Jenkins或其他系统的一种方式,能够分别监控和报告每个步骤在工作中的成功/失败,保持工作的一致性(例如,我无法为每个步骤开始新的工作),所以我可以看到,例如,供应和操作系统部署工作,堆栈部署有错误,但已完成,负面testing失败,而不是每个运行的当前绿色/红色状态,除非我进去阅读日志 任何build议,欢迎,无论是为我不知道的jenkins插件,或其他系统,或其他任何。

使用gitlab-runner重新启动tomcat

我有.gitlab-ci.ymlconfiguration: deploy-integration: stage: deploy script: – cp target/example.war /var/webapps – service tomcat7 restart 但执行不成功,因为: $ service tomcat7 restart 您需要root权限才能运行此脚本 错误:生成失败:退出状态1 用gitlab-runner重启tomcat最好的方法是什么? 我只想为这个命令授予gitlab-runner权限。

在使用psexec远程启动PowerShell脚本时,Jenkins作业中的输出被截断

我在Jenkins创build了一个工作,使用psexec在远程机器上启动一个小的powershell脚本。 在我的构build步骤中,我正在使用powershell插件并启动以下命令: & "$env:SCRIPTROOT\test_psexec.ps1" -Username $env:USERNAME -Password $env:PASSWORD -Server $env:REMOTESERVER 在test_psexec.ps1文件中,我有下面的代码: $filePath = "C:\windows\temp\test_script.ps1" $server = "server01" $cmd = "powershell -NoLogo -NonInteractive -ExecutionPolicy Bypass -File $filePath" Write-Host "Launching powershell on remote system using psexec…" Write-Host "Command: & $PSScriptRoot\tools\psexec -accepteula -nobanner -u $username -p **** -h \\$server $cmd" $output = & $PSScriptRoot\tools\psexec -accepteula -nobanner -u $username […]