나는 gitlab의 문서를 읽었습니다.
제 경우에는 특수 문자(콜론 ":")가 있어서 다음 내용도 읽었습니다.
이제 내 질문은: 이 둘을 결합하는 방법은 무엇입니까?
한편으로는 나는 (인용하다):
job name:
script:
- |
for file in *; do
echo "$file";
echo "${REPO}/${file}";
done
반면에 나는 (인용하다):
script:
- 'for file in *; do curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file "${file}" "${REPO}/${file}"; done'
이 둘을 어떻게 결합하나요? 장기적인 해결책은 for
루프의 오류를 다음과 같이 처리하는 것입니다.인용하다):
- 'http_code=$(curl -o /dev/null -s -w "%{http_code}" --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file "$file" "${REPO}/${file}")'
- if [ $http_code -ne 201 ]; then echo "Upload failed: terminating" && false; fi;
답변1
variables
구간 내 특수문자 이동 문제를 단순화시켰습니다 . YAML은 여전히 작동하지만 이렇게 하면 증상이 해결되는 것 같습니다.
job name:
variables:
token: "JOB-TOKEN: $CI_JOB_TOKEN"
script:
- |
for file in *; do
http_code=$(curl -o /dev/null -s -w "%{http_code}" --header "$token" --upload-file "$file" "${REPO}/${file}")
if [ $http_code -ne 201 ]; then echo "Upload failed for $file" && false; fi;
done