热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在公共存储库中将gitlabCI/CD变量保密

如何解决《在公共存储库中将gitlabCI/CD变量保密》经验,为你挑选了1个好方法。

我在Gitlab上有一个私人项目,设置了CI / CD,用于从Google Container Registry推送/拉取docker映像,并将我的软件部署到GCP中的Kubernetes Engine。

有没有一种方法可以使我的项目公开,而不必担心用于连接到GCP的秘密泄露?特别是,我担心当我的存储库公开时,任何人都可以echo $GCP_REPOSITORY_SECRET.gitlab-ci.yml文件中的某处添加一行,然后推其分支并查看CI的输出,以“发现”我的秘密。Gitlab有防止这种情况发生的机制吗?从根本上讲,是否存在最佳实践,可以为公共存储库保密部署秘密?



1> VonC..:

从根本上讲,是否存在最佳实践,可以为公共存储库保密部署秘密?

是的,其中没有任何敏感数据。曾经

在GCP级别,此处列出了机密管理选项。

将GitLab-CI连接到GCP时,您可以在此处看到安全含义,该含义kubectl get secret -o jsOnpath="{['data']['ca\.crt']}" | base64 -D与正确的帐户和RBAC一起使用

整个集群的安全性基于可信任开发人员的模型,因此应仅允许受信任的用户控制您的集群。


请注意,GitLab 11.7(2019年1月)允许:

将Kubernetes应用秘密配置为Auto DevOps管道的变量

操作员和管理员要求在应用程序存储库之外进行机密配置,以降低风险和敏感数据的暴露。
为了满足此需求,GitLab现在提供了将机密配置为环境变量的功能,这些变量可用于在Kubernetes集群中运行的Auto DevOps应用程序。

只需在变量之前加上K8S_SECRET_,相关的Auto DevOps CI管道就会使用您的应用程序秘密变量来填充Kubernetes秘密。


推荐阅读
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 本文档详细介绍了在 Kubernetes 集群中部署 ETCD 数据库的过程,包括实验环境的准备、ETCD 证书的生成及配置、以及集群的启动与健康检查等关键步骤。 ... [详细]
  • Alluxio 1.5.0 版本发布:增强功能与优化
    Alluxio 1.5.0 开源版本引入了多项新特性和改进,旨在提升数据访问速度和系统互操作性。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文将指导您如何在Docker环境中高效地搜索、下载Redis镜像,并通过指定或不指定配置文件的方式启动Redis容器。同时,还将介绍如何使用redis-cli工具连接到您的Redis实例。 ... [详细]
  • 本文介绍了Kettle资源库的基本概念、类型及其管理方法,同时探讨了Kettle的不同运行方式,包括图形界面、命令行以及API调用,并详细说明了日志记录的相关配置。 ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 本文探讨了在Git子模块目录中运行pre-commit时遇到的错误,并提供了一种通过Docker环境解决此问题的方法。 ... [详细]
  • 本文探讨了如何使用Go语言从传统的INI配置文件中提取所需的信息。INI文件因其简单易用而在多种环境中广泛采用,如操作系统设置、游戏引擎配置以及版本控制系统等。 ... [详细]
  • Git基础操作指南
    本文介绍了Git的基本特点,包括强大的版本控制能力和分布式架构,以及如何安装Git、配置环境、创建和管理版本库,还包括了版本创建与回退、工作区与暂存区的管理等实用技巧。 ... [详细]
  • 本文详细介绍了如何在Linux系统上搭建Laravel开发环境,包括安装和配置LAMP(Linux, Apache, MySQL, PHP)服务器,以及必要的PHP扩展和Composer工具。 ... [详细]
author-avatar
顺hw应大自然改造大自然
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有