- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于 gitops 让我感到困惑的部分是将源代码与 list 分开的建议,例如这就是argocd不得不说:
The use of a different Git repository to hold your kubernetes manifests (separate from your application source code), is highly recommended. See best practices for further rationale.
在一个典型的项目中,我会使用 gitlab设置测试环境,然后 on_stop
action删除每个 PR 的环境。但是,如果我将 list 与源代码分开,则不清楚是什么 argocd应该在看。
为了示例,假设我们有两个存储库:
foo
托管应用程序代码bar
托管不同应用的 list 假设:
foo
分支中创建了一个新分支 feature-001
。feature-001
添加提交时,它都会创建一个新的 docker图片(foo:$COMMIT_SHA
)。我将如何创建 argocd监视此分支的更改的受控应用程序?
我当然可以使用 CLI 创建应用程序:
argocd app create "foo-$COMMIT_SHA" --repo https://github.com/gajus/bar.git --path bar -p image=foo:$COMMIT_SHA
但是 ArgoCD 怎么知道跟踪这个 feature-001
分支的变化?,即我如何告诉 argocd当从该分支发布新的 Docker 镜像时部署应用程序的新版本?
最佳答案
How would I create a
argocd
controlled app that watches this branch for changes?
我不确定您为什么不使用 CLI 选项。 CLI 可以创建一个应用程序,包括指向一个 git 修订版(can be a branch)。
例如:
argocd app create "foo-$COMMIT_NAME"
--repo https://github.com/gajus/bar.git
--path bar
--revision $BRANCH_NAME
--parameter image=foo:$COMMIT_SHA
--sync-policy automated
请注意此处设置的自动同步策略。这意味着对修订版的任何更新都会更新分支。
How do I tell argocd to deploy a new version of the app when a new Docker image is published from this branch
上面的回答解释了 ArgoCD 应用程序如何跟踪 git 更改,但是这个问题暗示了更新部署/复制集 list 中的标签的问题。这在很大程度上取决于您如何为主分支执行此操作。有些人会硬编码,其他人将 $COMMIT_SHA
从 repo foo
提交到 repo bar
,其他人使用模板语言并注入(inject)变量.
基于您的关注,我假设您遵循从 repo foo
到 repo bar
的提交方法。如果是这种情况,我建议将标记 --upsert
添加到 CLI 命令中,并且每次在分支管道中运行相同的 CLI 命令。
注意:此处添加的奖励选项是为类似 --label branch=${BRANCH_NAME}
添加额外的标志。然后,这可用于定期查找/清理任何分支部署。
关于argocd - 如何在托管与源代码分开的 list 时创建功能分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64000953/
我正在遵循 https://argoproj.github.io/argo-cd/getting_started/#3-access-the-argo-cd-api-server 中的安装说明即使服务
关于 gitops 让我感到困惑的部分是将源代码与 list 分开的建议,例如这就是argocd不得不说: The use of a different Git repository to hold
argoproj/argocd:v1.8.7 有一个 Helm chart (1 个带入口,1 个带部署/服务/厘米)。 它具有自动同步策略(修剪和自我修复)。当尝试从 argocd 仪表板中删除它们
我目前正在使用 Kustomize。我们有多个部署和服务。这些具有相同的 spec但名称不同。是否可以存储 spec在单个文件中并在所有部署文件中引用它们? 最佳答案 Helm 非常适合解决方案。 然
我们有一个 ArgoCD 项目。在这个项目中,我们有多个应用程序(我们称它们为 A、B 和 C),它们通过 Kafka 集群相互传递消息。为此,需要创建主题。 App A 负责管理 Kafka 集群(
我需要根据一些标签过滤器列出所有应用程序。 https://argocd_domain/api/v1/applications 为了列出来自 argoCD API 的所有应用,我想放置所有可能的过滤器
我正在尝试将 Gitlab 存储库添加到 Argo CD,但它抛出了这个错误。无法连接 HTTPS 存储库:意外的客户端错误:意外请求“https://git.blahhh.blahh//info/r
所以,我有一个 Argocd 安装,我正在使用 Google Managed Certificates使用 SSL。 根据 Argocd Ingress Documentation没有官方定义的方式来
我想使用 App-of-apps用 ArgoCD 练习。所以我创建了一个简单的文件夹结构,如下所示。然后我创建了一个名为 dev 的项目,并创建了一个将在文件夹 apps 中查看的应用程序,因此当包含
我正在尝试在 GKE 集群(版本 1.21.5-gke.1302)中使用入口和证书管理器公开 ArgoCD,但未颁发证书。 重现步骤: 安装 cert-manager 申请 this yaml 在 h
我正在寻找以下情况的见解... 我有一个 ArgoCD 应用程序指向一个 Git 存储库 (A),其中有一个 values.yaml; 我想使用存储在不同存储库 (B) 中的 Helm 模板; 关于如
这个可以换吗 --- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: elastic-operator l
我想使用 AKS 和 ArgoCD 的用户分配或托管身份来创建应用程序。 我在 ACR 上为 AKS 身份分配了 AcrPull,然后尝试使用以下命令创建 ArgoCD 存储库 argocd repo
我正在尝试在 digitalocean kubernetes 集群上将 CircleCI + ArgoCD 用于 CD/CI,有没有办法将 ArgoCD 连接到启用了 2FA 的 github 帐户?
我使用ArgoCD并通过NGINX入口发布了UI,如下所示: apiVersion: cert-manager.io/v1alpha2 kind: Certificate metadata: na
我想使用 AKS 和 ArgoCD 的用户分配或托管身份来创建应用程序。 我在 ACR 上为 AKS 身份分配了 AcrPull,然后尝试使用以下命令创建 ArgoCD 存储库 argocd repo
我正试图使我们有可能长期在ArgoCD使用谷歌帐户。有没有人做过,它可以给我confog,如果可能的话,围绕它的一些其他提示。我们需要rbac作为weel,为用户创建组和分配策略?将不胜感激。我已经尝
我查看了整个 ArgoCD docs为此,但不知何故我似乎找不到答案。我有这样的应用程序规范: apiVersion: argoproj.io/v1alpha1
我查看了整个 ArgoCD docs为此,但不知何故我似乎找不到答案。我有这样的应用程序规范: apiVersion: argoproj.io/v1alpha1
我正在尝试通过 AKS 集群中的 Terraform 部署 ArgoCD 和位于子文件夹中的应用程序。 这是我的文件夹结构树: 我正在使用应用程序的应用程序方法,因此首先我将部署 ArgoCD(这也将
我是一名优秀的程序员,十分优秀!