중첩된 JSON 파일에서 환경 변수를 가져와 YAML 파일에서 일치/교체해야 하는 특정 CI/CD 빌드 단계가 있습니다.
예를 들어 내 JSON 파일에서는 다음과 같습니다.
{
"development": {
"ENV1": "My Value"
}
}
그런 다음 자리 표시자를 사용하여 YAML 파일을 정의하겠습니다 ${development.ENV1}
.
env_variables:
ENV1: ${development.ENV1}
이렇게 하면 bash 스크립트가 실행될 때 다음과 같이 파일이 업데이트됩니다.
env_variables:
ENV1: "My Value"
값을 내보내고 환경 envsubst
변수를 사용하여 이를 수행하는 참조를 찾았습니다.구글 커뮤니티 빌더이와 같이:
for f in $(ls ${files[*]}); do
echo "Pre-processing ${f}..." >&2
cat ${f} | envsubst ${shell_format:+"${shell_format}"} > ${f}.processed
mv ${f}.processed ${f}
done
하지만 중첩된 JSON을 사용하여 이와 동등한 작업을 수행하는 방법을 잘 모르겠습니다. 이것은 bash에서의 첫 번째 "진짜" 시도이므로 계속해서 배우고 있습니다!