我的项目有多个组件,需要在单独的容器中运行并相互连接。我正在尝试在 Gitlab CI 的单个“测试”阶段作业中运行整个项目的测试。为此,我需要创建多个泊坞窗并手动设置每个组件。有什么办法可以在 Gitlab CI 中做到这一点吗?
任何意见,将不胜感激。谢谢!
我正在尝试在 Gitlab CI 作业中使用 docker in docker 运行测试。我的理解是,启用 FF_NETWORK_PER_BUILD 标志将自动创建一个用户定义的桥接网络,作业运行程序和该作业中所有创建的泊坞窗将连接到该网络...但是查看 Gitlab 文档我有点困惑...
此页面: https: //docs.gitlab.com/ee/ci/services/
docker:dind给出了使用该服务的示例FF_NETWORK_PER_BUILD: "true"
但使用时docker run它们仍然包含该--network=host标志。
这是给定的示例:
stage: build
image: docker:19.03.1
services:
- docker:dind # necessary for docker run
- tutum/wordpress:latest
variables:
FF_NETWORK_PER_BUILD: "true" # activate container-to-container networking
script: |
docker run --rm --name curl \
--volume "$(pwd)":"$(pwd)" \
--workdir "$(pwd)" \
--network=host \
curlimages/curl:7.74.0 curl "http://tutum-wordpress"
Run Code Online (Sandbox Code Playgroud)
我试图确保此作业中的所有 docker 都位于自己独立的网络上,因此--network=host在此实例中使用该标志是否会将新 docker 连接到实际作业运行程序所在的主机服务器?或者刚刚创建的按职位网络?在什么情况下,您希望创建每个作业网络并仍将新的 docker 连接到主机网络?
如有任何建议,将不胜感激!
我对 gitlab pipeline 完全陌生,所以我不确定最好的方法是什么。我已经阅读了有关子模块和依赖项、触发其他管道的内容,但我很难理解什么有助于我在这里尝试实现的目标。
我有project_b,它是project_a 的子模块。在project_b的.gitlab-ci.yml中,project_a当前正在被克隆,然后project_b被移动到子模块通常位于project_a中的位置:
...
default:
...
before_script:
- git clone (project_a)
- mv project_a /src
- rm -rf /src/submodules/project_b/*
- mount --bind /src/submodules/project_b
...
Run Code Online (Sandbox Code Playgroud)
这是因为project_b 依赖于project_a。
不过,据我了解,这意味着project_b是project_a的下游。
我不想每次运行project_b 管道时都必须克隆整个project_a 存储库。
我已经看到了大量有关为依赖项目触发下游管道的信息,但我唯一能找到的似乎与我的案例相关的是不久前提出的关于 gitlab 缺乏触发上游管道的功能的问题: 上游在 Gitlab-CI 中触发,又名管道依赖项
有添加这个功能吗?因为我确实在网上找不到任何信息。否则,关于如何绕过克隆整个project_a存储库的任何建议?我可能完全不在这儿,但我想知道的一件事是,是否有某种方法可以让project_b触发project_a的特定管道,而该管道只做我需要它做的事情来测试project_b?
任何建议将不胜感激,谢谢!
我正在尝试采用一个起点和一个长度并返回一个列表列表,该列表逐渐将偶数起始整数增加2
例如:
evenIncrease 6 3
Run Code Online (Sandbox Code Playgroud)
应该返回:
[[6],[6,8],[6,8,10]]
我是Haskell的新手,到目前为止,我的尝试看起来像这样:
evenIncrease n l = [[n..i] | i <- [n..n+(l*2)-2], even i]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试的示例时evenIncrease 6 3,我得到:
[[6],[6,7,8],[6,7,8,9,10]]
这几乎是我要寻找的,但是我不明白为什么在使用警卫“偶数我”时内部列表中仍然存在奇数
有任何想法吗?
我有一个 python 文件,其中维护了一堆常量值,
constant_value = 5
constant_address = '127.0.0.1'
constant_file_path = '/home/user/work'
Run Code Online (Sandbox Code Playgroud)
我正在编写一个将使用这些常量的 bash 脚本,但我不想走使用配置文件来保存这些值或它们都可以从中获取的内容的路线,我想将这些常量保留在python 文件。
我如何将这些常量读入我的 bash 脚本中以供使用?
我在网上找到了一些类似的想法,但我有点困惑,例如某些常量是 int,而其他常量是字符串等是否会出现任何问题。