GitLab文檔缺乏,也不是很清楚。如何設置這個文件來自動構建我的C++項目(它會告訴你它是否通過或失敗),以及如何配置爲Windows/Mac/Linux單獨構建。如果您需要我與您分享我的回購請求。我需要幫助爲C++設置一個.gitlab-ci.yml文件
回答
在您自動執行任何操作之前,請手動運行它。編寫一個shell腳本,然後把它放在CI中。以下是使用shell執行程序的簡單模板。
before_script:
- export BUILD_VAR=if_needed
build_linux:
stage: build
script:
- my_build_script.sh
如果你的步驟很簡單,你可以把它們直接在CI配置:
build_linux:
stage: build
script:
- ./configure
- make
獲取從那裏工作的最簡單的例子,然後成長吧。
好吧,我應該把什麼放在我的腳本,我必須用cmake或其他東西建立?對不起,我對C++社區很新,我習慣於統一和其他更簡單的語言,但我喜歡學習,而C++非常棒。現在我只有一個基本的遊戲,所以命令不應該太複雜。 – PlanetVaster
習慣上使用CMake進行樹外構建,因此您可能需要一個用於設置構建目錄的before腳本。你將需要創建一個緩存並設置你想要在你的項目中設置的任何變量,然後構建。 'cmake {PATH_TO_CMakeLists.txt} --DCMAKE_BUILD_TYPE:STRING =發佈-DBUILD_FLAG_EXAMPLE:BOOL = ON'和build:'cmake --build .'。 'cmake --build .'可以在所有平臺上工作,但不會被並行化 - 您可能想要使用特定於平臺的構建命令,例如'make'或'MSBuild'以及適當的參數並行運行。 – chirality
要構建一個C++應用程序,您需要一個編譯器。您可以使用具有編譯器的現有Docker鏡像。我在這裏使用gcc
圖片。
這是我的.gitlab-ci.yml文件。您不必使用CMake
,只需放入構建應用程序所需的任何命令,並確保您已滿足映像中的構建依賴關係。
# Use the official gcc image
image: gcc
before_script:
# Install build dependencies
- apt-get update && apt-get -y install cmake
myapp:
# Build the application
stage: build
script:
- mkdir build
- cd build
- cmake ..
- make
這應該足以讓你開始。
- 1. 我需要一個getFileExt幫助(c)中
- 2. 需要幫助設置SMTP
- 3. 需要幫助設置RoboSpock
- 4. 需要幫助設置htaccess
- 5. Android:需要幫助設計一個tableLayout
- 6. 在c文件中需要幫助make
- 7. [C++]需要幫助建立一個類
- 8. 需要一個LINQ ArgumentOutOfRangeException幫助C#
- 9. 需要幫助爲SDL C++教程設置Makefile - 無法鏈接目標文件
- 10. 需要幫助從文件
- 11. 我需要一個SQL查詢幫助
- 12. 我需要一些幫助設計一個陣列
- 13. 需要幫助爲Jenzabar創建一個menuopt文件CX
- 14. 需要幫助設置開發環境
- 15. 需要幫助來設置node.js
- 16. 需要幫助設置休眠
- 17. 需要幫助來設置參數
- 18. 需要幫助設置開源庫JFreeChart
- 19. 需要幫助設置回形針
- 20. 需要htaccess幫助設置rewritebase
- 21. 需要將多個數組值設置爲null的幫助 - javascript
- 22. 需要幫助來「設置」一個REST風格的web服務
- 23. 需要幫助在Windows上設置一個Git服務器
- 24. WCF設計需要幫助
- 25. C++:我需要幫助目錄導航
- 26. 我需要幫助日食的配置
- 27. 我需要幫助配置ASP.net簡介
- 28. PHP $ _GET [ '設爲myVal']幫助需要
- 29. 我需要一些幫助與PHP郵件(附加文件)
- 30. 我需要從C++中的文件解析幫助
只需向我們展示.gitlab-ci.yml文件即可。 – Kiloreux
@Kiloreux我還沒有一個,因爲我不知道如何爲C++設置一個。我使用gitlab.com並使用他們共享的跑步者。我是CI的新手,我查看了.gitlab-ci.yml文件的文檔,但無法弄清楚如何爲C++做一個,他們的例子是用於rails的ruby(我不知道) 。 – PlanetVaster