總是會有些需求
而需求就產生了程式碼
畢竟~Jenkins預設的外掛沒有對Submodule做新增標籤的功能
做法如下:
新增一隻 shell script 做以下事情處理 update submodule tag,放在最後確保是成功的狀態再新增標籤
#!/bin/bash if [ -e ".gitmodules" ]; then git submodule foreach git tag -f -a tag_name -m "Autotag from tag_name building" git submodule foreach git push origin tag_name fi
然後呢,這時候就炸了
啊,別人的 repo 怎麼辦?
於是就有下列的 workaround,只搜尋想要加標籤的 submodule 來處理
#!/bin/bash if [ -e ".gitmodules" ]; then SUBMODULE_LISTS=`git config --file .gitmodules --get-regexp url | grep 逼哩八啦 | awk '{print $1}' | sed 's/^submodule\.//g' | sed 's/\.url$//g'` for SUBMODULE in $SUBMODULE_LISTS do SUBMODULE_PATH=`git config --file .gitmodules --get-regexp path | grep $SUBMODULE | awk '{print $2}'` cd $SUBMODULE_PATH git tag -f -a tag_name -m "Autotag from tag_name building" git push origin tag_name cd $WORKSPACE done fi
舒服舒服,惡搞的真舒服 Orz
« Prev:AWS RDS MySQL Threads 太高 Modify Json file:Next »