안녕하세요 저는 Gitlab 러너 셋업에서 MSBuild 프로세스의 일부로 환경 변수를 사용하여 CI_PIPELINE_ID와 CI_COMMIT_SHA를 전달하여 증분 빌드 ID와 함께 애플리케이션을 빌드하고 SHA를 추적하여 바이너리 버전.Gitlab CI Runner 미리 정의 된 매크로 MSBuild
내 .gitlab-ci.yml은 다음과 같이 구성되어
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
내가 내 C++ 프로젝트에서이 같은 환경 변수에 액세스하려면 어떻게해야합니까?
#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 : 수정. –
컴파일 할 때만 런타임에 키 값을 얻으려고하지 않습니다. msbuild 명령 끝에/D CI_PIPELINE_ID = $ (CI_PIPELINE_ID)/D CI_COMMIT_SHA = $ (CI_COMMIT_SHA)를 추가하여 프로젝트에 추가하십시오. 그러나 존재하지 않으면이 작업을 수행하지 않겠습니다. –