devops相关内容

ID为的TerraForm资源已存在

当Terraform Run任务在Azure devops发布管道中执行时,我得到一个错误“A resource with the ID eXist”。 该资源存在于Azure中,但是如果该资源已经存在,为什么它还在抱怨该资源。这应该忽略这一部分。请帮助我需要在我的代码中添加什么来修复这个错误! 我只是在使用这个bug terraform工具来部署azure资源吗?TerraForm帮助太可怕了! ..
发布时间:2022-02-24 09:22:30 其他开发

在 Kubernetes 上发布新版本时自动更新容器镜像

我有一个私人存储库.当镜像在这个私有存储库上更新时,我想自动更新我在 Kubernetes 上的镜像.我怎样才能做到这一点? 解决方案 Kubernetes 原生不具备有新镜像时自动重新部署 Pod 的特性.理想情况下,您想要的是一个启用 GitOps 风格部署的工具,其中 git 中的状态更改将同步到 Kubernetes 集群.有 Flux 和 ArgoCD 支持 GitOps 的开源 ..
发布时间:2022-01-24 21:12:15 其他开发

Docker-compose,条件语句?(例如,仅在条件下才添加音量)

我想为我的服务添加一个卷,但前提是最终用户为其提供了一个文件夹.否则,不应挂载任何卷,因为已准备好的映像在默认文件夹中有有效数据. 也就是说,我想做一些类似(伪代码)的事情: 服务:我的真棒服务:卷:如果 ${变量} =>${VARIABLE}:/应用程序/文件夹 此类条件语句是否可以在 docker-compose 文件中定义? 我认为使这成为可能的唯一方法是首先定义一个基本 d ..

Jenkinsfile when-branch 设置的模式评估是什么?

我正在尝试检测阶段内 when 语句上的分支模式. 像这样: stage('部署到登台') {代理标签:'some-node'当{分支“功能/*"}脚步 {sh './deploy_pr.sh'} } 如果我想要更复杂的模式怎么办? 我正在尝试检测诸如 feature/0.10.25 之类的东西,但以下模式不起作用: when { 分支'feature/[0-9]+.[0- ..
发布时间:2022-01-18 17:22:53 其他开发

Jenkins 管道确定分支是否用于 Bitbucket 拉取请求

我将 Jenkins 与 Bitbucket 分支源插件. 一切都很好,但我希望能够根据分支是否与拉取请求相关联来运行/排除管道中的某些阶段,例如: 管道{阶段{阶段(“构建"){//编译}阶段(“包"){什么时候 {环境名称:'IS_PULL_REQUEST',值:'true'}//创建可部署的包}}} Jenkins 知道分支何时用于 PR,因为它将源与目标合并,并且还在多分支管道页 ..
发布时间:2022-01-18 17:20:02 其他开发

从 Jenkinsfile 设置管道名称和描述

我正在尝试将 jenkins 管道作为代码进行 poc.我正在使用 Github 组织文件夹插件来扫描 Github 组织并为每个分支创建作业.有没有办法明确定义从 Jenkinsfile 获得的管道作业的名称?我还想为这些职位添加一些描述. 解决方案 你需要像下面这样使用 currentBuild.node部分很重要 节点{currentBuild.displayName = "$yo ..
发布时间:2022-01-18 17:14:28 其他开发

如何使用詹金斯管道将战争部署到tomcat?

我想使用管道部署战争文件.什么是正确的做法.有没有办法在管道代码中使用部署到容器.使用 jenkins manager 调用 catalina.sh 或使用 curl 命令进行部署的问题是我找不到任何检测成功部署的方法. 有没有标准的方法来做到这一点 解决方案 在tomcat中,部署war有两种选择: 将战争复制到 webapps 文件夹 将战争上传到您的 tomcat 发布 ..
发布时间:2022-01-18 17:03:12 服务器开发

使用 terraform 删除特定资源,即 vm、nic、nsg

我在防火墙内创建了 azure vm ,nic ,nsg .现在我需要在防火墙内删除特定创建的 vm、nic、nsg.我将继续这样做. 当我尝试使用下面的特定 vm、ns、nic 删除时,但它正在删除总资源组. terraform 初始化terraform apply -no-color -auto-approveterraform 破坏力 我的代码: # 配置 Microsoft A ..

如何使用一个 terraform 脚本和不同的变量值管理多个不同环境的部署

我正在使用 Terraform 在 Azure 上部署 3 层应用程序:前端、后端和数据库.它运作良好.该应用程序是一个产品,我需要为多个客户提供多个实例. 我的问题是,我很难理解将多组值 (variables.tf) 应用于同一个脚本,以获得多个环境. 我希望有以下结构: main.tf 客户1 变量.tf 客户2 变量.tf 然后选择我是部署 custome ..
发布时间:2022-01-16 21:29:57 其他开发

Terraform 在自动化中计划人类可读的输出

我已经通过 github/jenkins 设置了一个自动化,以通过 jenkins 发布 terraform plan 的输出作为对 github 中拉取请求的评论.整个编排工作得很好,除了 terraform plan 的输出不是人类可读的,并且在这种自动化中没有为您提供在终端中运行时的样子.我使用了几种方法,例如将 terraform show 用于计划文件,然后将其抓取到自定义文件中并将其作 ..
发布时间:2022-01-16 21:04:46 其他开发

Terraform - 我应该使用 user_data 还是 Provisioner 来引导资源?

似乎我可以使用带有模板文件的 user_data 或带有内联命令的“remote-exec" provisioner 来引导.那么哪一个被认为更惯用呢? 解决方案 你应该使用 user_data.user data 字段是惯用的,因为它是 AWS 原生的,而 remote-exec 配置器是特定于 Terraform 的,这只是调用 AWS API 的众多方法之一. 此外,用户数据可 ..
发布时间:2022-01-16 20:53:44 其他开发

在 Terraform 工作空间之间共享资源

我正在使用 AWS 中的 Terraform 部署一个基础设施.此基础架构可以部署到不同的环境中,我正在使用工作区. 部署中的大部分组件应该为每个工作区单独创建,但我有几个关键组件希望在它们之间共享,主要是: IAM 角色和权限 它们应该使用相同的 API 网关,但每个工作区应该部署到不同的路径和方法 例如: 资源“aws_iam_role"“lambda_iam_role" ..

如何更改 docker 容器中的时区?

我正在为我从 docker-hub 提取的开发堆栈运行 docker 容器,该映像是为与我的应用程序应该部署的位置不同的时区创建的. 如何在 docker 容器中更改时区? 我尝试通过运行更改容器内的时区配置 echo "非洲/卢萨卡" >/etc/时区 并重新启动容器,但我仍然得到相同的时区. 解决方案 您可以在运行阶段按照@LinPy 的建议进行覆盖,但是如果您想在 D ..
发布时间:2022-01-16 19:06:56 其他开发

Helm 等待依赖项部署在 kubernetes 上准备就绪

我正在使用 helm chart 在 kubernetes 上部署我的应用程序.但是我在堆栈中使用的服务依赖于其他服务,如何确保在依赖项建立之前不会部署 helm? 解决方案 通常你不会;您只需让 Helm(或 kubectl apply -f)一次性启动所有内容,然后让它重试启动所有内容. 最常见的模式是,如果外部服务不可用,容器进程会在启动时简单地崩溃;发生这种情况时,Kuber ..