作者:糖在嘴里甜在心离_636 | 来源:互联网 | 2023-01-08 17:50
我能够在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
小智..
5
我认为您需要添加apt-get更新才能安装cmake。看到这个
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更新
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
如本博文所述,您可以通过下载gitlab-runner可执行文件在本地进行测试:
gitlab-runner exec docker build
在本地运行gitlab-runner将使gitlab克隆您的存储库并执行.gitlab-ci.yml中的所有步骤,您可以很快看到输出并在本地调试。
1> 小智..:
我认为您需要添加apt-get更新才能安装cmake。看到这个
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更新
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
如本博文所述,您可以通过下载gitlab-runner可执行文件在本地进行测试:
gitlab-runner exec docker build
在本地运行gitlab-runner将使gitlab克隆您的存储库并执行.gitlab-ci.yml中的所有步骤,您可以很快看到输出并在本地调试。