Posts Tagged ‘jenkins’

在 Ubuntu 14.04 更新 jenkins

shtzeng Posted in Research,Tags: , ,
0

軟體要定期更新
才能保持沒有bug
雖然說也常常用最新版就壞掉了XD
這邊來說在 Ubuntu 14.04 上面更新 jenkins 的問題
jenkins 在某個版本之後 從 java7 改到 java8
但是 Ubuntu 14.04 官方不支援 java8
從官方的 apt-get 上怎麼升都弄不上去
所以就要自己想辦法啦

1. 安裝 ppa
sudo add-apt-repository ppa:openjdk-r/ppa
2. 更新啊更新
sudo apt-get update
3. 安裝新的 java8
sudo apt-get install openjdk-8-jre-headless
4. java 改 link
將 /etc/alternatives/java -> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 改成 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
5. 升級 jenkins
sudo apt-get install jenkins
6. 升級/修正 jenkins 套件
進 jenkins 把能按的該按的都按一按,又是一尾活龍

-完-

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