分類
git 錯誤紀錄

Git error: 解決在Gerrit網頁上submit patch set 出現衝突的情況

Cause:

在 Gerrit 等待 code review 通過期間,若有協同開發者先 merge commit ,且該 commit 和 自己的commit 發生衝突的情況

Solution:

1.
在發生conflict branch上 執行
git pull --rebase origin master
此指令說明如下
This command will fetch new commits from the remote and then rebase your local commits on top of them. It will temporarily set aside the changes you’ve made in your branch, apply all of the changes that have happend in master to your working branch, then merge (recommit) all of the changes you’ve made back into the branch. Doing this will help avoid future merge conflicts. Plus, it gives you an opportunity to test your changes against the latest code in master.
Once you are satisfied with your change set and you’ve rebased against master, you are ready to push your code to Gerrit for review.
簡單的說:把master上已合併的commit(但在目前branch不存在),接到目前的branch,再把
目前branchcommit接到最後面(最新)
當然在Gerrit 網頁上合併會發生衝突,所以執行這個指令之後在本地端也會發生衝突,
把執行後的提示紀錄下來如下
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase –abort".
接下來的步驟為
2. 修改發生衝突的地方,使用vim修改
3. 把修改後的檔案全部 git add
4. git add 所有的檔案之後執行 git rebase –continue
5. 最後 git push origin HEAD:refs/for/master
6. 必須重新等待code review
分類
Eclipse error

Eclipse Error: Indexer runs out of memory

Cause:
編譯jni會產生大量的檔案,特別是 C/C++ indexer 會建立索引 若eclipse初始記憶體太小會導致
out of memory 的錯誤
Solution:
在 eclipse.ini檔案中可設定記憶體限制,主要調整以下幾個數值
初始設定

--launcher.XXMaxPermSize
256m
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

調整後

--launcher.XXMaxPermSize
512m
-XX:MaxPermSize=512m
-Xms80m
-Xmx1000m

 
細節參考
http://wiki.eclipse.org/Eclipse.ini

分類
Uncategorized

java Excel 錯誤:Unable to recognize OLE stream

Caused:
和許多google 找到的原因一樣 -> “jxl无法读取Excel2007和数据库导出的非文本部分”
Solution:
另開新試算表,把原本的內容複製到新試算表上,儲存格式為Microsoft Excel 97/2000/XP/2003 (xls)

分類
git 使用紀錄

更新 Git 版本

主要原因是建置 Android Build 環境時, repo 的初始化需要 git 1.7.2以上的版本,必須升級 git
方法:
終端機輸入

sudo apt-add-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git-core

即可更新 git 版本

分類
Ubuntu tools

ubuntu 安裝 java(oracle and sun) 及切換使用的jdk

update 2016/01/27
安裝ubuntu 後,建議安裝 oracle java

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
sudo apt-get install oracle-java6-set-default

 


 
若 oracle java 運作正常,不須安裝open-jdk
安裝open-jdk

sudo apt-get install default-jdk

再安裝sun-java-6-jdk
照著AOSP 官網的教學操作

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk

 
第3步驟會出現錯誤 “找不到套件之類的….”
修正方式:

sudo add-apt-repository ppa:ferramroberto/java
or sudo add-apt-repository ppa:flexiondotorg/java
sudo apt-get update
sudo apt-get install sun-java6-jdk

即可成功安裝,過程中會要求設定 DLJ ,按確定即可
完成後使用以下指令切換 java 版本
終端機輸入

update-alternatives --config java

出現

Selection    Path                                      優先級  Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode
0為預設的選項(openjdk),2為剛剛安裝的sunjdk,輸入數字切換
分類
Jenkins

使用指令和外掛來備份及還原jenkins

1.使用指令備份和還原

只需要將 JENKINS_HOME 所指的目錄內所有資料複製起來即可完成備份,
如JENKINS_HOME=/home/jenkins ,就把/home/jenkins所有資料複製起來,備份和還原時儘量先停止jenkins (/etc/init.d/jenkins stop)
 

Backup:

1.先登入 root 權限
2.建立並移動到備份用的資料夾

mkdir jenkins_backup
cd jenkins_backup

3.複製所有JENKINS_HOME 所有資料夾

cp -adr /home/jenkins/* ./ (為jenkins_backup)

 

Restore:

1.先登入 root 權限
2.移動到放置所有備份資料的資料夾中

cd jenkins_backup

3.複製備份檔到 JENKINS_HOME 所指資料夾

cp -adr ./* /home/jenkins/

 

2.使用ThinBackup備份及還原jenkins

Install :

登入jenkins -> 管理 Jenkins -> 管理外掛 -> 過濾條件輸入thinBackup -> 勾選安奘選項開始安裝 -> 頁面會提示安裝流程,完成後需要重新開啟jenkins

Setup :

登入jenkins -> 管理 Jenkins -> ThinBackup -> Settings -> Backup directory(填入備份檔放置路徑) ,還有其他選項可以調整如定時備份等等
 

Backup :

登入jenkins -> 管理 Jenkins -> ThinBackup -> Backup Now -> 在放置的路徑下就會產生備份檔
 

Restore :

登入jenkins -> 管理 Jenkins -> ThinBackup -> Restore -> 選擇備份檔案
 

分類
Jenkins

jenkins 備份及還原專案

說明:
jenkins的專案全部都放在 jobs 資料夾下,只要複製專案資料夾,就能進行備份還原動作
本地和遠端動作類似,差別在於遠端需要ssh和sftp
要注意複製專案時是否有將專案內全部資料都複製齊全
本地備份
1. 開啟終端機,取得root權限

sudo -s

2.複製想備份的專案

cp -adr /home/jenkins/jobs/專案名 目的路徑

 
本地還原
1.還原專案

cp -adr 來源路徑 /home/jekins/jobs

備份及還原儘量在 jenkins 停止的狀態下進行,經測試備份及還原的進行可以不必停止jenkins
不過還原後必須重啟jenkins,備份的專案才會顯示
 
遠端備份
1.使用ssh指令遠端登入server
2.移動到/home/jenkins/jobs目錄中
3.針對要備份的專案進行壓縮
壓縮:
tar zcvf 壓縮檔名.tar.gz 來源檔(專案名)
4.離開ssh
5.使用sftp將剛剛製作的壓縮檔get到本地端
(要注意本地端放置備份壓縮檔的目錄權限,如果目錄是需要root,則使用sftp指令前必須先切換到root權限再使用sftp)
 
遠端還原
1.先使用sftp將備份壓縮檔put到遠端
(由於sftp無法切換到root權限,所以無法直接把壓縮檔put到/home/jenkins/jobs中,先put到可以put的目錄)
2.離開sftp,使用ssh登入遠端,切換到root權限並將備份壓縮檔解壓縮到/home/jenkins/jobs中
3.重啟jenkins

分類
Script

壓縮和解壓縮指令

使用tar

副檔名為 tar.gz
壓縮

tar zcvf 壓縮檔名.tar.gz 來源檔

解壓縮

tar zxvf 壓縮檔名

 
 

使用7zip

解壓縮

7z x 壓縮檔名

壓縮檔案

   7z a -tzip 壓縮檔名.zip 來源檔案1 來源檔案2

 
 
 

分類
Jenkins

Jenkins 帳號權限設定

Jenkins 安裝完成後,預設是以匿名(anonymous)帳號登入,只要連線到該ip,無論是誰都可以設定或調整,建議安裝完成後立刻處理帳號權限控管,步驟如下

1.進入Jenkins 主頁面
2.點擊 “管理jenkins”
3.點擊 “設定全域安全性”
4.勾選 “啟用安全性”
5.點擊 “Jenkins內建使用者資料庫”
6.勾選 “予許使用者註冊”
7.點擊 “矩陣型安全性”
8.在 “要新增的使用者或群組:”輸入欄內填入想要的管理者帳號,並點擊”新增”按鈕
9.取消匿名使用者的所有權限,並加入第8步驟建立的管理者所有權限
10.關閉網頁並重啟jenkins
11.註冊使用者,使用者名稱記得輸入第8步驟建立的管理者帳號
12.成功登入,完成!!
分類
Script

更改目錄權限可寫可讀可執行(包含子檔案)

開啟終端機輸入

chmod 777 -R ./*

目錄下所有檔案屬性可寫可讀可執行, 會包含當前目錄及其子檔案