1. jenkins執行python腳本問題
一般有三種方法:
1.安裝執行python的插件:Python Plugin,安裝後在配置那裡就可以看到以下的選項,可以在Script部分直接寫python代碼
2. 部署jenkins需要多少容量
1 修改jenkins的根目錄,默認地在C:\Documents and Settings\AAA\.jenkins 。
.jenkins
├─jobs
│ └─JavaHelloWorld
│ ├─builds
│ │ ├─2011-11-03_16-48-17
│ │ ├─2011-11-03_16-49-05
│ │ ├─2011-11-03_16-49-29
│ │ ├─2011-11-03_17-01-49
│ │ └─2011-11-03_17-11-42
│ └─workspace
│ ├─build
│ │ ├─classes
│ │ │ └─oata
│ │ └─jar
│ └─src
│ └─oata
├─plugins
├─usercontent
├─war
可以通過設置環境變數來修改,例如:
set JENKINS_HOME=C:\jenkins
然後重新啟動jenkins。
2 備份和恢復jenkins
只需要備份JENKINS_HOME下的所有文件和文件夾,恢復的時候需要先停止jenkins。
3 移動,刪除或修改jobs
對於移動或刪除jobs,只需要簡單地移動或刪除%JENKINS_HOEM%\jobs目錄。
對於修改jobs的名字,只需要簡單地修改%JENKINS_HOEM%\jobs下對應job的文件夾的名字。
對於不經常使用的job,只需要對%JENKINS_HOEM%\jobs下對應的jobs的目錄zip或tar後存儲到其他的地方。
4 可以在jenkins的url中執行一些命令來操作jenkins,如下
http://[jenkins-server]/[command] 命令可以為:
exit shutdown jenkins
restart restart jenkins
reload to reload the configuration
5 Jenkins 啟動時的命令行參數
--httpPort=$HTTP_PORT,用來設置jenkins運行時的web埠。
--httpsPort=$HTTP_PORT,表示使用https協議。
--httpListenAddress=$HTTP_HOST,用來指定jenkins監聽的ip范圍,默認為所有的ip都可以訪問此jenkins server。
6 修改jenkins的timezone
如果jenkins所在的server的timezone不同於用戶的timezone,這時候需要修改jenkins的timezone,需要在jenkins啟動的時候增加下列參數-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ
7 最好通過一個腳本來啟動jenkins,確保jenkins每次都運行在相同的環境下,例如
startjenkins.bat
set JENKINS_HOME=c:\jenkins
cd /d %JENKINS_HOME%
java -jar %JENKINS_HOME%\jenkins.war --httpPort=8000
8 jenkins在後台運行
如果jenkins是部署在servlet容器中,例如apache,tomcat中。因為servlet容器一般都在後台運行了,所以jenkins也就已經在後台運行了。
對於windows用戶需要在jenkins的管理頁面中點擊insall as windows service來將jenkins部署為service。 但是感覺比較好的方法還是手動將啟動jenkins的腳本部署為windows service,從而可以更靈活地設置更多的參數。
9 jenkins的系統信息
可以在jenkins的管理頁面下的系統信息中,查看所有的jenkins的信息,例如jenkins的啟動配置,所依賴的系統的環境變數,所安裝的plugins。
10 jenkins內置的環境變數
BUILD_NUMBER, 唯一標識一次build,例如23;
BUILD_ID,基本上等同於BUILD_NUMBER,但是是字元串,例如2011-11-15_16-06-21;
JOB_NAME, job的名字,例如JavaHelloWorld;
BUILD_TAG, 作用同BUILD_ID,BUILD_NUMBER,用來全局地唯一標識一此build,例如jenkins-JavaHelloWorld-23;
EXECUTOR_NUMBER, 例如0;
NODE_NAME,slave的名字,例如MyServer01;
NODE_LABELS,slave的label,標識slave的用處,例如JavaHelloWorld MyServer01;
JAVA_HOME, java的home目錄,例如C:\Program Files (x86)\Java\jdk1.7.0_01;
WORKSPACE,job的當前工作目錄,例如c:\jenkins\workspace\JavaHelloWorld;
HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/ ;
BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/;
JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/;
SVN_REVISION,svn 的revison, 例如4;
3. jenkins能執行python腳本嗎
可以的,python 基本都可以調用的
4. 如何利用jenkins git shell腳本自動部署服務
shell作業要求:
1、從git伺服器clone和pull代碼(可指定分支,http方式)
2、項目打包
3、部署到本地tomcat
4、需要支持的參數(可通過配置文件):git項目地址、分支名稱、項目本地目錄
注意:腳本的話不要隨意的在網頁上運行,因為不同的操作系統會自動給它加上一個你看不到的標記,這會讓新手非常的茫然,自己手動敲敲沒什麼壞處
5. 如何禁用jenkins自動清理的工作空間
在 jenkins Script Console 頁面設置如下屬性取消了 Workspace clean up
hudson.model.WorkspaceCleanupThread.disabled = true
PS:每次重啟jenkins都要設置一下
6. jenkins伺服器上為什麼留有workspace
1修改jenkins的根目錄,默認地在C:\DocumentsandSettings\AAA\.jenkins。.jenkins├─jobs│└─JavaHelloWorld│├─builds││├─2011-11-03_16-48-17││├─2011-11-03_16-49-05││├─2011-11-03_16-49-29││├─2011-11-03_17-01-49││└─2011-11-03_17-11-42│└─workspace│├─build││├─classes│││└─oata││└─jar│└─src│└─oata├─plugins├─usercontent├─war可以通過設置環境變數來修改,例如:setJENKINS_HOME=C:\jenkins然後重新啟動jenkins。2備份和恢復jenkins只需要備份JENKINS_HOME下的所有文件和文件夾,恢復的時候需要先停止jenkins。3移動,刪除或修改jobs對於移動或刪除jobs,只需要簡單地移動或刪除%JENKINS_HOEM%\jobs目錄。對於修改jobs的名字,只需要簡單地修改%JENKINS_HOEM%\jobs下對應job的文件夾的名字。對於不經常使用的job,只需要對%JENKINS_HOEM%\jobs下對應的jobs的目錄zip或tar後存儲到其他的地方。4可以在jenkins的url中執行一些命令來操作jenkins,如下http://[jenkins-server]/[command]命令可以為:5Jenkins啟動時的命令行參數--httpPort=$HTTP_PORT,用來設置jenkins運行時的web埠。--httpsPort=$HTTP_PORT,表示使用https協議。--httpListenAddress=$HTTP_HOST,用來指定jenkins監聽的ip范圍,默認為所有的ip都可以訪問此jenkinsserver。6修改jenkins的timezone如果jenkins所在的server的timezone不同於用戶的timezone,這時候需要修改jenkins的timezone,需要在jenkins啟動的時候增加下列參數-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ7最好通過一個腳本來啟動jenkins,確保jenkins每次都運行在相同的環境下,例如startjenkins.batsetJENKINS_HOME=c:\jenkinscd/d%JENKINS_HOME%java-jar%JENKINS_HOME%\jenkins.war--httpPort=80008jenkins在後台運行如果jenkins是部署在servlet容器中,例如apache,tomcat中。因為servlet容器一般都在後台運行了,所以jenkins也就已經在後台運行了。對於windows用戶需要在jenkins的管理頁面中點擊insallaswindowsservice來將jenkins部署為service。但是感覺比較好的方法還是手動將啟動jenkins的腳本部署為windowsservice,從而可以更靈活地設置的參數。9jenkins的系統信息可以在jenkins的管理頁面下的系統信息中,查看所有的jenkins的信息,例如jenkins的啟動配置,所依賴的系統的環境變數,所安裝的plugins。10jenkins內置的環境變數BUILD_NUMBER,唯一標識一次build,例如23;BUILD_ID,基本上等同於BUILD_NUMBER,但是是字元串,例如2011-11-15_16-06-21;JOB_NAME,job的名字,例如JavaHelloWorld;BUILD_TAG,作用同BUILD_ID,BUILD_NUMBER,用來全局地唯一標識一此build,例如jenkins-JavaHelloWorld-23;EXECUTOR_NUMBER,例如0;NODE_NAME,slave的名字,例如MyServer01;NODE_LABELS,slave的label,標識slave的用處,例如JavaHelloWorldMyServer01;JAVA_HOME,java的home目錄,例如C:\ProgramFiles(x86)\Java\jdk1.7.0_01;WORKSPACE,job的當前工作目錄,例如c:\jenkins\workspace\JavaHelloWorld;HUDSON_URL=JENKINS_URL,jenkins的url,例如http://localhost:8000/;BUILD_URL,build的url例如http://localhost:8000/job/JavaHelloWorld/23/;JOB_URL,job的url,例如http://localhost:8000/job/JavaHelloWorld/;SVN_REVISION,svn的revison
7. 如何把zip包通過jenkins部署到linux伺服器上
此處以Linux+tomcat為例
准備工作:
1>完成Jenkins服務環境的搭建,此處不再詳述,不會的童鞋可參考下面的博客
http://www.cnblogs.com/zz0412/tag/jenkins/
2>安裝Publish Over SSH插件(這個插件可以通過ssh連接其他Linux機器),不會的童鞋可參考:
http://www.cnblogs.com/zz0412/p/jenkins_jj_10.html
3>配置SSH Server
然後新建jobs,在SSH server頁面進行一下配置
說明:以上配置是在構建項目時將jenkins伺服器上生成的項目war包拷貝到遠程伺服器下
(注意要記得為文件配置許可權,我在此處有一個刪除腳本的命令,大家根據需要,不一定需要此步驟)
#########################shell腳本內容分享########################
圖中腳本jenkins_reboot.sh主要功能為部署項目war包至tomcat伺服器中,重新啟動tomcat,包括重命名、刪除、備份等步驟,code如下:
8. Jenkins-Pipeline腳本編寫入門
定義本次有多少流程,每個流程干什麼事情
定義使用哪個打包節點去進行構建,其中參數為Jenkins-Agent的Label
切換到所需的工作目錄
多容器Node切換到不同的容器中,從而使用不同的工具進行打包操作
使用Jenkins憑據,也就是在管理中配置的Jenkins憑據,其中 credentialsId 參數需要輸入憑據的Id
Docker-Pipeline這個插件Api比較多,建議去查看官方文檔 Docker-Pipeline插件使用手冊
其中下面的最簡單的使用方式, withRegistry 第一個參數是倉庫地址,第二個參數是使用哪個憑據,也就是在憑據中定義的那個Id
NodeJs插件詳解
其中Pipeline使用 nodejs 這個指令去使用NodeJs,參數是NodeJs配置的名稱
插件地址
這個插件允許你將構建產物發送到其他的物理伺服器上面去, 牛逼!!!
在這個標簽中包著才能解析並執行Groovy的語法。
注意區分單引號和雙引號,單引號不能帶環境變數
使用這個就能直接生成所需插件的使用片段,如果沒得那就只能自己寫了~
9. jenkins執行腳本的環境變數中,如何獲取執行
方法/步驟
打開Jenkins>點擊Manage Jenkins >再點擊Manage Nodes
10. jenkins執行shell腳本,是執行伺服器上的么
默認是執行jenkins 伺服器本地 workspace 里的腳本 不過也可以執行 本地或區域網內其他伺服器任意腳本 需要 ssh 插件