顯示具有 jenkins 標籤的文章。 顯示所有文章
顯示具有 jenkins 標籤的文章。 顯示所有文章

2014年11月25日 星期二

[Jenkins] Slave Invoke Ant時出現錯誤

Slave server Invoke Ant時報錯:

FATAL: Cannot find executable from the chosen Ant installation "Ant 1.8"
Build step 'Invoke Ant' marked build as failure

原因:
slave上面沒有安裝ant


解決辦法:
從master上設定安裝ant到slave上

Jenkins -> Manage Jenkins -> Configure System -> Ant



[Appium] 開啟appium server時創建log出現錯誤

開啟:

appium -a 127.0.0.1 -p 4723 --no-reset --session-override -lt 180000 --command-timeout 180000 --log /Users/jenkins/workspace/Orange/label/Mac_Mini_2014_1/junit/appium.log

出現錯誤:

uncaughtException: ENOENT, open '/Users/jenkins/workspace/Orange/label/Mac_Mini_2014_1/junit/appium.log'


原因:node沒有該資料夾讀寫的權限

解決辦法:

1.開放該位置讀寫的權限
2. $sudo chmod -R 1777 /Users/jenkins/workspace/Orange/label/Mac_Mini_2014_1/junit/

2014年11月16日 星期日

[Jenkins] 自動寄送mail的格式

使用Email-ext plugin 可以自訂email格式
https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

將格式檔案放在/var/jenkins/email-templates  資料夾底下   (email-templates要自己創)



[Jenkins] Jenkins變數 (mail中可使用)

https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project


Jenkins Set Environment Variables

When a Jenkins job executes, it sets some environment variables that you may use in your shell script, batch command, Ant script or Maven POM 1. The following table contains a list of all of these environment variables.
Environment VariableDescription
BUILD_NUMBERThe current build number, such as "153"
BUILD_IDThe current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)
BUILD_URL The URL where the results of this build can be found (e.g. http://buildserver/jenkins/job/MyJobName/666/)
NODE_NAMEThe name of the node the current build is running on. Equals 'master' for master node.
JOB_NAMEName of the project of this build. This is the name you gave your job when you first set it up. It's the third column of the Jenkins Dashboard main page.
BUILD_TAGString of jenkins-${JOB_NAME}-${BUILD_NUMBER}. Convenient to put into a resource file, a jar file, etc for easier identification.
JENKINS_URLSet to the URL of the Jenkins master that's running the build. This value is used by Jenkins CLI for example
EXECUTOR_NUMBERThe unique number that identifies the current executor (among executors of the same machine) that's carrying out this build. This is the number you see in the "build executor status", except that the number starts from 0, not 1.
JAVA_HOMEIf your job is configured to use a specific JDK, this variable is set to the JAVA_HOME of the specified JDK. When this variable is set, PATH is also updated to have $JAVA_HOME/bin.
WORKSPACEThe absolute path of the workspace.
SVN_REVISIONFor Subversion-based projects, this variable contains the revision number of the module. If you have more than one module specified, this won't be set. 
CVS_BRANCHFor CVS-based projects, this variable contains the branch of the module. If CVS is configured to check out the trunk, this environment variable will not be set.
GIT_COMMIT For Git-based projects, this variable contains the Git hash of the commit checked out for the build (like ce9a3c1404e8c91be604088670e93434c4253f03) (all the GIT_* variables require git plugin)     
GIT_URLFor Git-based projects, this variable contains the Git url (like git@github.com:user/repo.git or https://github.com/user/repo.git)\\
GIT_BRANCH For Git-based projects, this variable contains the Git branch that was checked out for the build (normally origin/master) 

Promoted Build Plugin Environment Variables

If you are using the Promoted Build Plugin, you will have access to the following environment variables. This allows you to access information about your Jenkins build since certain environment variables stated above (such as BUILD_TAG now refer to the Promoted Build Plugin's job.
Environment VariableReplacesDescription
PROMOTED_URLBUILD_URLThe URL of the original Jenkins job that is involved with the promotion. BUILD_URL now refers to the Promotion's URL
PROMOTED_JOB_NAMEJOB_NAMEThe name of the original Jenkins job that is involved with the promotion. JOB_NAME now refers to the Promotion's job's name
PROMOTED_NUMBERBUILD_NUMBERThe Build Number of the job being promoted. BUILD_NUMBER now refer's the the Promotion Number
PROMOTED_IDBUILD_IDThe Build ID (ex. "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss) ) of the original Jenkins job. BUILD_ID now refer's to the Promotion's build ID.

[Appium] 使用CI+Appium收集log

1258
gigayaya 1楼 · 9天前 喜欢  
我也有這個問題,appium log在sever啟動時就建立了。換句話說,如果你的server沒有重啟過,那不管你跑多少條test case都會存在同一個log,不僅檔案會越來越大,也會越來越難撈你要的資料。
我目前的做法是,用Jenkins控制整個流程,如下:
  1. 啟動test project
  2. test project一啟動先刪除workspace下所有東西
  3. test project通過git獲得code
  4. test project啟動appium project
  5. appium project啟動appium server
  6. appium server啟動,將log存到test project的workspace中
  7. 執行test case
  8. 結束,上傳test report跟appium log
  9. 設置timeout,appium project閒置過久自動close project