Posts Tagged ‘subnodule’

Jenkins Git Submodule Add Tag

shtzeng Posted in 系統設定,Tags: , , ,
0

總是會有些需求
螢幕快照 2016-06-15 下午3.35.11
而需求就產生了程式碼
畢竟~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