仅选择标题及其相关列表

仅选择标题及其相关列表

我正在使用 jenkins 创建 CICD 工作流程,并且我有一个正在 grep 的文件,其格式如下:

api
qa0=
qa1=
qa3=
qa4=master
qa5=master

feasibility-service
qa0=
qa1=master1
qa3=cloud-config
qa4=
qa5=OTHERBUILD-112.12.3

qa123project-TBH
qa0=master
qa1=
qa3=
qa4=ehhrelease1.2333.1
qa5=

到目前为止,我的代码 grep 整个文件,匹配分支名称,然后提取它需要指向的 QA 环境:

if grep "$MAIN_DIR" config && grep $BRANCH_NAME config
then
    echo "Checking if Git Project and Branch Exist, will deploy onto environment specified"
    WORD=$(grep $BRANCH_NAME config)
    INITIAL=${WORD::3}
    echo GITENV=$INITIAL > $PROPS

这给我带来了问题,因为如果正在构建的项目是针对 api 的,而正在构建的分支是针对云配置的,那么它应该会失败,但相反,它会选择可行性服务的环境,而实际上它应该失败。

如何将其限制为仅属于分支名称(例如 api)下的列表?

与 api 匹配的项目的输出应该仅为:

api
qa0=
qa1=
qa3=
qa4=master
qa5=master

与 qa123project-TBH 完全匹配的项目的输出应该仅为:

qa123project-TBH
qa0=master
qa1=
qa3=
qa4=ehhrelease1.2333.1
qa5=

相关内容