gitlab-ci相关内容

在 GitLab CI 中将环境变量从一个阶段导出到下一个阶段

有没有办法在 GitLab CI 中export 环境变量从一个阶段到下一个阶段?我正在寻找类似于 的东西作业工件 功能,仅适用于环境变量而不是文件. 假设我在 configure 阶段配置构建,并希望将结果存储为(秘密、受保护的)环境变量以供下一阶段使用.我可以将配置保存在文件中并将它们存储为作业工件,但我担心文件中提供的机密信息无法被所有人下载. 解决方案 从 Gitlab 13 ..
发布时间:2022-01-10 11:26:24 其他开发

如何在 gitlab 中创建存储库徽章?

如何在 gitlab 中为我的项目创建徽章? 我知道这里有一个网页 https://docs.gitlab.com/ee/user/project/badges.html 但我不知道他们在说什么. 假设我的项目在这里https://gitlab.com/username/userproject 链接和徽章图片链接应该是什么? 解决方案 有两个默认标记:Pipelin ..
发布时间:2022-01-10 11:26:11 其他开发

SonarQube 使用 gitlab 自动运行

我用 SonarQube 创建了自己的服务器,我想将它与我的 gitlab 连接.每次我提交我的提交时,sonarqube 扫描仪都会运行并在代码中创建结果 + 注释. 我已经下载了这个插件:https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-插件 根据Gitlab 与 SonarQube 的集成这些只是 2 个插件 ..
发布时间:2022-01-10 11:25:46 其他开发

如何在 gitlab 中触发特定作业

我想在管道中运行一个特定的作业,我认为为该作业分配一个标签,然后在 post 方法中再次指定这个标签将满足我的需求.问题是当我使用 api(post) 触发时,管道中的所有作业都是触发事件,尽管只有其中一个标记为 . gitlab-ci.yml: 工作1:脚本:- 回声“你好世界!"标签:[myTag] 工作2:脚本:- 回声“你好 gitlab!" API 调用:curl ..
发布时间:2022-01-10 11:25:05 其他开发

Gitlab CI - 如何仅在特定文件集发生更改时触发构建

在 Gitlab CI 中,如何仅在特定文件集发生更改时触发构建? 有没有办法在触发构建时包含或排除某些文件?例如:更新 README.md、.gitignore 文件不应导致构建触发. 解决方案 UPDATE 2 Only/except 似乎是一个不稳定的功能.该文档建议使用 rules:changes 代替: 工作:脚本:- build # 替换为您的构建命令规则:- 变 ..
发布时间:2022-01-10 11:23:31 其他开发

在 GitLab 中安全地存储秘密和凭据

我想知道是否可以在我的 GitLab 项目中安全地存储密码、令牌和密钥等凭据. 目前有一堆 Java 文件,其中存储了一些密码用于测试目的.但是,出于安全原因,我不想在我的仓库中推送这些信息.我尝试在项目中使用环境变量,但它们似乎只适用于 .gitlab-ci.yml 文件. 我的问题是,是否有人使用 Hashicorps 或 Blackbox 之类的保险库来加密敏感信息? 谢谢 ..

组下所有项目的 Gitlab API

我想获取 Gitlab 中特定组下的所有项目的列表.这是示例场景: A 组 (id: 1) 有 3 个项目 A组/项目1 A组/项目2 A 组/项目 3 B 组(ID:2)有 5 个项目 B 组/项目 1 B 组/项目 2 B 组/项目 3 B 组/项目 4 B 组/项目 5 现在,如果我点击其余 api GET/groups,它只 ..
发布时间:2022-01-10 11:22:27 其他开发

配置runner同时运行多个job

当一个 gitlab runner 服务多个项目时,它只能运行一个 CI 管道,而其他项目管道必须排队. 是否可以让 gitlab runner 并行运行所有项目的管道? 我似乎在任何地方都找不到对此的配置说明. 解决方案 我相信您正在寻找的配置选项是 concurrent 和 limit,您可以更改它们在 GitLab Runners config.toml 文件中. ..
发布时间:2022-01-10 11:21:13 其他开发

如何使用 GitLab 在自己的服务器上自动部署 Docker Image?

我尝试用 Google 搜索几个小时,但找不到.我有 Java/Spring 应用程序(+MySQL,如果重要的话),我正在为此创建 CI. 我知道该怎么做和怎么做: 我知道我必须将我的 Git 存储库移至 Gitlab. Push to repo 将触发 CI 脚本. Gitlab 会将我的 docker 镜像构建到 Gitlab Docker Registry 中. 问题 ..
发布时间:2022-01-10 11:20:21 其他开发

如何让 gitlab-ci-runner DinD 图像缓存中间图像?

我有一个 Dockerfile,它从安装 texlive-full 包开始,它很大并且需要很长时间.如果我在本地docker build,安装后创建的中间镜像会被缓存,后续构建速度很快. 但是,如果我推送到我自己的 GitLab 安装并且 GitLab-CI 构建运行程序启动,这似乎总是从头开始,重新下载 FROM 图像,并再次进行 apt-get 安装.这对我来说似乎是一个巨大的浪费,所以 ..
发布时间:2022-01-10 11:19:04 其他开发

gitlab 中的 Pylint 徽章

Gitlab 具有生成关于构建状态和覆盖百分比的徽章的功能. 是否可以创建自定义徽章来显示 Pylint 结果?或者只是在 README.md 中显示这个结果? 我已经有 Pylint 的 CI 工作 解决方案 我编写了一个 python 徽章生成包,它生成的徽章在视觉上与主要的徽章服务非常相似.它非常灵活,您可以在 python 代码中导入和使用,也可以从命令行运行. 我在 G ..
发布时间:2022-01-10 11:18:21 其他开发

如何在 CI 构建中访问多个存储库?

我们有一个由多个(非公共)存储库组成的项目. 要构建整个项目,构建系统需要拥有所有存储库(master 分支)的文件. 有没有一种方法可以配置 GitLab CI 以提供我需要的存储库? 我想我可以在 CI 构建期间执行 git fetch 或类似操作,但是如何处理身份验证呢? 解决方案 您可以为所有项目添加部署密钥.然后在运行器上配置部署密钥的私钥.在构建过程中使用普通 ..
发布时间:2022-01-10 11:16:55 其他开发

是否可以允许 CI/CD 作业中的脚本失败?

整个作业可以允许失败 job1:阶段:测试脚本:- execute_script_that_will_fail允许失败:真 是否有可能在一系列脚本中包含一个允许失败(而其他 - 不允许)的脚本? job1:阶段:测试脚本:- execute_script_that_MAY_fail_and_should_be_marked_somehow_in_this_config_as_such- 执行 ..
发布时间:2022-01-10 11:14:42 其他开发

如何传递凭据以在 Gitlab CI 脚本中提取子模块?

我有几个项目,每个项目都在自己的存储库中,它们导入一个公共库,该库也有自己的存储库.因此,.gitmodules 文件包含具有全名的库: 子模块 'xx/yy' (https://gitlab.com/xx/yy.git) 为路径 'xx/yy' 注册 但这不起作用: 致命:无法读取“https://gitlab.com"的用户名:没有这样的设备或地址 CI 脚本非常简单: 图像:mcr ..
发布时间:2022-01-10 11:14:36 其他开发

多个主机上的 gitlab-ci.yml 部署

我需要在多台服务器上部署我的应用程序. 我在 gitlab-ci 上托管了我的源代码.我已经设置了环境变量和 .gitlab-ci.yml 文件 它适用于单个服务器:我可以构建 docker 映像并将这些映像推送到注册表.然后我在 kubernetes 基础设施上部署这些图像.所有操作都在 .gitlab-ci.yml 中描述 我需要做的是为每个服务器“重复" .gitlab-c ..
发布时间:2022-01-10 11:13:57 其他开发

Docker 构建失败:标记无效引用格式(Gitlab CI)

我在 gitlab 中为 Dockerfile 创建了一个 repo.在 .gitlab-ci.yml 我定义了两个阶段:构建和推送到注册表. 这是 .gitlab-ci.yml 文件: 图像:码头工人阶段:- 建造- 推建造:阶段:构建脚本:- docker build --no-cache -t ${DOCKER_REGISTRY}/debian9-cunit .推:阶段:推脚本:- ..
发布时间:2022-01-10 11:13:17 其他开发