gitlab-ci相关内容
目标 发布管道应为特定分支启动部署。 如果只有文档更改,则不会(跳过作业)。(*.md文件) 问题 如果您更改了多个文件,但只有一个文件以.md结尾,则仍会跳过build作业。作业未针对任何文件运行。 https://docs.gitlab.com/ee/ci/jobs/job_control.html#onlychanges--exceptchanges-example
..
我对GitLab ci子管道有问题。 需要在回购中有多个应用程序的每次提交后自动触发CI管道。需要配置以检测哪些文件夹/文件被修改,以便知道要触发哪个应用程序管道 结构示例 Main/ ---- applicationsA/ -------- appA1/ -------- appA2/ -------- appA3/ ---- applicationsB/ -------- appB
..
我使用TBC MkDocs Gitlab-CI template构建,然后发布一个静态站点,其中包含许多指向其他站点的链接。 因此,我应该在我的配置项工作中添加一项检查以验证: 如果我的所有内部链接(在网站内)都正常 如果我的所有外部链接都处于活动状态。 你能给我一个好的建议吗? 我可以使用哪些工具?例如,我查看了linkchecker-markdown的本地链接和lin
..
我想知道是否有可能在GitLab ci Runner中将存储在GitLab中的Python包版本升级到GitLab。 我有一个包结构示例: /package /src /__init__.py main.py setup.py Dockerfile .gitlab-ci.yml init.py包括: __version__ = '1.0.
..
我目前正在进行一个小小的角度Web项目。我发现了一个很棒的工具,叫做GitLab CI。 我阅读了文档并设置了一个节点停靠器来构建Web应用程序。然后我想上传构建的应用程序与ftp到我的服务器。我的麻烦就是从这里开始的。 首先是我的GitLab-ci.yml image: node:7.5.0 cache: key: "$CI_BUILD_REF_NAME" untrac
..
我有一个主分支,它应该只通过将“Release/xxxxx”分支合并到其中或通过将“hotfix/xxxxx”分支合并到其中来获得提交。 发布分支的管道构建一个停靠器映像,并使用标记“beta”发布它。 发布分支的管道构建一个停靠器映像,并使用标记“hotfix”发布它。 主程序的管道只需将“beta”重新标记为“稳定”(当发布分支合并到主程序中时),或将“hotfix”重新标记为“稳定
..
在GitLab中,如何以编程方式下载在CI管道末端发布的项目? 通过UI下载很简单,但如何通过API获取?换句话说,可以通过令牌或类似的东西访问它吗? 推荐答案 如https://docs.gitlab.com/ee/api/jobs.html#get-job-artifacts GET/PROJEMS/:ID/JOBS/:JOB_ID/PRECTIONS 示例请求:
..
我希望部署到使用GitLab管道的ftp服务器。 我尝试了此代码: deploy: // You can name your task however you like stage: deploy only: - master deploy: script: - apt-get update -qq && apt-get insta
..
我在舞台上使用的是规则方法。但是使用规则方法,我不想触发标记的配置项运行。 我需要找到一种方法来避免except: - tags这样的标记。不幸的是,除了不遵守规则外。在短时间内,我如何避免它? 我在舞台上使用了此代码段,但它不起作用,它在创建标记后仍会触发管道。 - if: '$CI_COMMIT_TAG' when: never 这是我的主要部署阶段:
..
我正在GitLab CI中运行Selify测试,但在使用GitLab运行器而不是我的计算机时,无法正确设置远程URL。 跑者的IP地址为192.168.xxx.xxx。当我运行管道时,我得到SelSelum集线器的IP地址是172.19.0.2/16。我两个都试过了,都失败了。我还尝试使用Selify集线器容器的名称http://selenium__hub,但也失败了。 docker-
..
我正在寻找一种方法,当我们的GitLab存储库发生提交时,在我们的远程服务器上运行一些Python脚本。我们没有托管我们的回购,它在GitLab服务器上。欢迎任何建议。 提前谢谢。 推荐答案 可以通过将请求作为管道的一部分发送到远程服务器来解决此问题。 例如在您的.gitlab-ci.yml文件中,该文件位于存储库的根目录中: ---- stages: - re
..
我的dockerfile: FROM openjdk:8u201-jdk-alpine3.9 ADD target/app-snapshot-0.0.1.jar . 在GitLab-ci Runner中,在maven构建过程中: maven: image: maven:3-jdk-8 stage: maven script: - "mvn clea
..
我想使用Ansible剧本在码头容器内设置一个远程环境。本攻略将使用我在GitLab CI/CD配置中设置的变量从GitLab-ci运行。我如何才能获得它? 这是我要使用的模板。如何从CI/CD变量设置user_id和password? tasks: - name: Run XYZ Container docker_container: name: XYZ
..
当我们在服务器上提交新的修改时,GitLab-CI管道出现问题。我们希望在FTP服务器上自动更新修改。 为此,我们在gitlaci.yaml文件中使用简单的配置项配置: deploy: script: - bash ./deploy.sh only: - develop - master 部署.sh的内容也很简单: #!/bin/bash e
..
我需要重用GitLab配置项作业规则中的变量 include: - template: "Workflows/Branch-Pipelines.gitlab-ci.yml" .staging_variables: variables: CONFIG_NAME: "staging" .staging_rules: rules: - if: $CI_COMMIT_
..
以下命令在终端上运行正常,但同一命令在GitLab CI中失败。 echo Hello >> foo.txt; cat foo.txt | grep "test"; [[ $? -eq 0 ]] && echo fail || echo success 返回为success 但GitLab配置项中的相同命令 $ echo Hello >> foo.txt; cat foo.txt
..
我正在考虑将构建和测试Docker/OCI映像的遗留管道移植到GitLab CI/CD中。我在Kubernetes集群中已经有一个GitLab Runner,并且它注册到了一个GitLab实例。测试特定映像需要在内部运行某些命令(用于运行单元测试等)。假设这可以由作业my_test建模,如下所示: my_test: stage: test image: my_image_1 sc
..
我正在尝试将一个相当复杂的管道与在不同环境中按顺序运行的几个作业组合在一起。这是为了在我们的基础设施中运行我们的地形变化。作业序列应在我们的infraci环境中自动运行,该环境仅通过CI展开,然后停止并要求单击按钮开始部署到我们的dev环境,该环境具有实际(尽管是dev)用户。当然,我不想一遍又一遍地编写相同的代码,所以我尽量做到干净利落。这是我的gitlab-ci.yml: --- # "
..
我想知道在全局variables:中使用extends:是否可以。 文档here说明: 关键字类型:作业关键字。您只能将其用作作业的一部分。 (我的突出显示)。 但是,如果我使用类似 stages: - test .common_variables: __FOO: "foo" variables: extends: .common_variab
..
在不在GCE上的管道中,从registry.gitlab.com推送&;Pull真的很困难,总会有延迟或低带宽等问题。 是否有相应的镜像来加速坞站映像推送和拉出过程? 推荐答案 您可以编辑/etc/docker/daemon.json并添加注册表镜像 { "registry-mirrors": ["https://gitlab.mirrorlist.ir"] }
..