如何将cmake集成到gitlab存储库中以实现持续集成(CI)
在GCC的Docker Image的帮助下,我能够运行C ++程序并使用GitLab CI单元进行构build和testing。 但现在我想在Docker中使用cmake而不是g ++来编译程序。 如何更改'.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更新以获得cmake安装。 看到这个
image: gcc before_script: - apt-get update --yes - apt-get install --yes cmake build: script: - ./runner.sh - ./bin/hello
一般来说,你可以通过跳入Docker镜像进行debugging(在这种情况下,图像是基于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
正如这篇博客文章提到的那样,您可以通过下载gitlab-runner可执行文件在本地执行testing:
gitlab-runner exec docker build
在本地运行gitlab-runner将会有gitlab克隆你的repo并运行.gitlab-ci.yml中的所有步骤,你可以在本地看到输出和debugging。
- 如何构build两个二进制文件.net core 2控制台应用程序
- Docker中的FileSystemWatcher不会注意到对本地目录的更改
- 在Ubuntu上,实现容器隔离(用户名空间),more / proc / / gid_map,不输出
- 在Windows Server Core Docker上安装.NET Framework 3.5
- System.InvalidOperationException:“path基础只能使用IApplicationBuilder.UsePathBase()configuration。
- 无法使用Go客户端从Docker访问stdout
- 添加应用程序参数以在Docker中运行.NET控制台应用程序
- 通过URLjoin泊坞窗卷
- networkingDocker容器上的HttpClient请求