在 gcc 的 Docker Image 的帮助下,我能够运行 C++ 程序并使用 GitLab CI 单元构建和测试它。但现在我想使用 cmake 而不是 g++ 在 docker 中编译程序。如何更改“.gitlab-ci.yml”文件以支持 cmake。
当前文件:.gitlab-ci.yml
image: gcc
before_script:
- apt-get install --yes cmake libmatio-dev libblas-dev libsqlite3-dev libcurl4-openssl-dev
- apt-get install --yes libarchive-dev liblzma-dev
build:
script:
- ./runner.sh
- ./bin/hello
./runner.sh
cmake -H. -Bbuild
cmake --build build -- -j3
最佳答案
我认为您需要添加 apt-get update 才能安装 cmake。参见 this
image: gcc
before_script:
- apt-get update --yes
- apt-get install --yes cmake
build:
script:
- ./runner.sh
- ./bin/hello
通常,您可以通过跳转到 docker 镜像进行调试来解决问题(在您的情况下,该镜像是基于 debian 的 gcc:latest):
sudo docker run -it --rm gcc
如果您在 gcc 容器中运行了原始的 apt-get install 命令,您会看到以下错误消息,然后您可以通过 google 找出需要 apt-get update
sudo docker run -it --rm gcc apt-get install --yes cmake
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package cmake is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'cmake' has no installation candidate
正如这篇博文提到的,您可以通过 downloading the gitlab-runner executable 在本地进行测试。 :
gitlab-runner exec docker build
在本地运行 gitlab-runner 将使 gitlab 克隆您的存储库并运行 .gitlab-ci.yml 中的所有步骤,您可以相当快地在本地看到输出和调试。
关于c++ - 如何将 cmake 集成到 gitlab 存储库中以进行持续集成(CI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47312630/