こんにちは、GitlabランナーのセットアップでMSBuildプロセスの一部として環境変数を使用して、CI_PIPELINE_IDとCI_COMMIT_SHAを渡して、インクリメンタルビルドIDでアプリケーションをビルドし、shaをコミットしてバイナリ版。Gitlab CIランナー定義済みマクロMSBuild
マイ.gitlab-ci.ymlは、以下のように構成されています。私は私のC++プロジェクトでは、このような環境変数にアクセスするために行うために
variables:
Solution: Project.sln
before_script:
- "echo off"
- 'call "%VS140COMNTOOLS%\vsvars32.bat"'
- echo.
- set
- echo.
- echo %HALCONROOT%|find "13" >nul
- if errorlevel 1 (echo not13) else (set HALCONVERSION=HALCON_13)
stages:
- build
build:
stage: build
script:
- echo building...
- 'msbuild.exe /p:Configuration="Release" /p:Platform="x64" "%Solution%"'
tags:
- "HALCON 13"
except:
- tags
何が必要ですか?次のように次に、あなたがそれを使用することができます
:
#ifndef CI_COMMIT_SHA
#define COMMIT_SHA 0
#else
#define COMMIT_SHA CI_COMMIT_SHA
#endif
CI_PIPELINE_IDとCI_COMMIT_SHAは既にhttps://docs.gitlab.com/ce/ci/variables/READMEを事前に定義されています。 html。私の質問は、これをmsbuildで使ってキー値にアクセスすることでコンパイルする方法です。 –
@a_dizzle:modified。 –
コンパイル時にのみ実行時にキー値を取得しようとしていません。 msbuildコマンドの最後に/ D CI_PIPELINE_ID = $(CI_PIPELINE_ID)/ D CI_COMMIT_SHA = $(CI_COMMIT_SHA)を追加してプロジェクトに追加してください。ただし、存在しない場合はこれをしないことをお勧めします。 –