我有一個 YAML 檔案(GitLab-ci.yml)
deploy-perf:
extends: .deploy-np
environment:
name: perf
variables:
APP_NAME: $APP_NAME_PERF
PCF_MF_FILE: 'manifest.perf.yml'
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature|[rR]elease).*$/'
[ INSERT HERE ]
validate-ci:
extends: .healthcheck-v1
variables:
HEALTH_CHECK_URL: "https://[URL]/index.html"
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature).*$/'
validate-g1:
extends: .healthcheck-v1
variables:
HEALTH_CHECK_URL: "https://[URL]/index.html"
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature).*$/'
我想在上面的檔案中的 [INSERT HERE] 位置插入以下文本或作業
deploy-PROD:
extends: .deploy-PROD
environment:
name: prod
variables:
APP_NAME: $APP_NAME_PROD
PCF_MF_FILE: 'manifest.perf.yml'
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature|[rR]elease).*$/'
我正在嘗試使用 sed,但縮進不準確。
sed -re '/validate-ci,*/i'"`echo $MYVAR`" cifile.yml
要么
sed -re '/validate-ci,*/i'"`cat prodjob.yml`" cifile.yml
如果有人可以幫助我,非常感謝
如果使用 python 或 bash 和 sed/awk 組合完成,我很好。
uj5u.com熱心網友回復:
您可以使用從(gnu)內部e執行命令catsed
sed '/validate-ci:/e cat prodjob.yml; echo' cifile.yml
; echo是添加一個您可能還想要的空行。
uj5u.com熱心網友回復:
這可能對您有用(GNU sed 和 bash):
cat <<\! | sed '/validate-ci:/e cat /dev/stdin;echo' file
deploy-PROD:
extends: .deploy-PROD
environment:
name: prod
variables:
APP_NAME: $APP_NAME_PROD
PCF_MF_FILE: 'manifest.perf.yml'
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature|[rR]elease).*$/'
!
注意這是@KarlT 行內答案。
uj5u.com熱心網友回復:
無論您的輸入檔案包含什么字符,在每個 Unix 機器上的任何 shell 中使用任何 awk:
$ awk 'NR==FNR{new=new sep $0; sep=ORS; next} $0=="[ INSERT HERE ]"{$0=new} 1' file.yml GitLab-ci.yml
deploy-perf:
extends: .deploy-np
environment:
name: perf
variables:
APP_NAME: $APP_NAME_PERF
PCF_MF_FILE: 'manifest.perf.yml'
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature|[rR]elease).*$/'
deploy-PROD:
extends: .deploy-PROD
environment:
name: prod
variables:
APP_NAME: $APP_NAME_PROD
PCF_MF_FILE: 'manifest.perf.yml'
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature|[rR]elease).*$/'
validate-ci:
extends: .healthcheck-v1
variables:
HEALTH_CHECK_URL: "https://[URL]/index.html"
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature).*$/'
validate-g1:
extends: .healthcheck-v1
variables:
HEALTH_CHECK_URL: "https://[URL]/index.html"
rules:
- if: '$CI_COMMIT_BRANCH =~ /^([fF]eature).*$/'
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/440732.html
