1. jenkins,設置集成測試環境,就是構建過程先部署服務,然後運行整體測試用例,執行完後在關閉服務
Jenkins是一個開源項目,它提供了一個容易使用的持續集成系統,並且提供了大量的plugin滿足各式的集成需求。
因為手裡項目所用到的穩定性和性能測試工具每天手動部署到各台windows機器上比較浪費時間,所以這里使用jenkins用於部署測試工具到各個測試機上運行。整套環境需要一個中心伺服器和若干測試機器組成的slave,這就是jenkins的Master/Slave結構,如下所示:
在我們下面的使用中,master和slave是通過jnlp協議來通訊的。
Master機器:
我們需要在我們的master機器上安裝jenkins,沒有什麼特殊說明,注意的是安裝包方式同樣可以通過運行安裝目錄下的jenkins.war來啟動jenkins,而默認情況下安裝後會安裝一個名為Jenkins的自動運行的服務。
安裝完後訪問jenkins的根目錄,默認情況下埠是8080(如果要使用其他埠啟動,可以通過命令行」Java –jar Jenkins.war –httpPort=80」的方式修改),通過」系統管理」-」管理節點」-「新建節點」
新建節點主要設置遠程目錄已經運行和訪問的方式,注意這里如果有很多機器,建議遠程工作目錄名稱都一樣,方便管理,如下所示:
點擊保存,這時候就會在jenkinsnode視圖左側看到創建的slave節點。
下面要做的就是部署真正的slave機器了,點擊左側的」test_machine」,這時候會打開該節點的頁面,復制這個url,一般是形如http://192.168.1.148/computer/test_machine/, 注意這里在訪問的時候不要通過 127.0.0.1的方式訪問,因為這樣可能會導致後面所用到的jnlp文件中master地址也是127.0.0.1,從而導致slave機器上啟動失敗。
Slave機器:
首先需要在slave機器上安裝java環境和.NetFrameWork環境,然後在瀏覽器中訪問上面拷貝的url,這里提供了三種方式運行slave,我這里使用的第二種方式:
備註:slave.jar的位置如 http://192.168.1.148/jnlpJars/slave.jar
這時候有可能出現如下的錯誤:
這是因為從 Java 7 Update51 開始,如果應用程序沒有證書(例如未簽名應用程序)或缺少應用程序名稱和發行者信息,默認情況下會被阻止。運行此類型的應用程序可能不安全並存在較高級別的風險。
解決的方法是通過windows開始菜單項打開java控制面板,然後把master機器的url添加到安全提示的例外網站。
再次運行,則彈出如下的安全警告,允許運行即可。
同時,當運行主機上安裝了多個java版本時並且應用程序被安全設置阻止時,可以取消一些版本,防止一些意想不到的異常。
運行成功我們能看到連接成功的窗口,而我們繼續查看可以在設定的遠程工作目錄,c:\remote_jenkins下看到如下的一些文件jenkins-slave.exe,jenkins-slave.exe.config,slave.exe,jenkins-slave.xml。 我們這里主要關注jenkins-slave.xml,從下面我們可以看到兩個關鍵節點,executable和arguments,如果你想使用不同的java版本,可以從這里修改,而從arguments可以看出jnlp協議連接的master主機地址。
這時候slave機器已經運行起來了,但是我們顯然不想每次都在slave機器上運行一下啟動,所以jenkins又提供了slave的服務,如下所示進行安裝。
上面說過機器上需要. NetFrameWork環境,我理解是用於安裝windows服務用的,當你沒有安裝時會提示如下錯誤:
但是上面的提示卻誤導了我,因為一般都會版本越新越好,但是在xp環境上,最終只有安裝2.0版本才能正常,其他所有版本安裝後安裝服務都會提示如下一些錯誤提示:
當然上面slave機器上所有進行操作的前提是設置了遠程工作目錄並且的確在你遠程的物理機上創建了該目錄,如果沒有設置遠程工作目錄,會錯誤提示如下:
如果配置了遠程工作目錄,但是salve機器上沒有該目錄,則彈出如下錯誤:
如果slave無法連接,查看遠程工作目錄下的jenkins-slave.err.log,
這是因為我在master機器上把該slave的名字改了,但是下發到該slave上的jenkins-slave.xml還是舊的信息。
還有一種情況就是在在你master機器ip不斷變化的情況下,可能存在即使新建了新的slave節點,但是啟動slave的時候失敗的情況,這時候最好的方式是看一下該節點的slave-agent.jnlp文件中的內容,然後手動修改中間的一些地址信息,然後手動javaws運行該文件即可。另外一種方法是jenkins的系統管理面板下修改「Jenkins Location」的」 Jenkins URL」。
2. jenkins部署源代碼到遠程伺服器
jenkins要想在遠程伺服器執行命令,發送文件等操作,必然要處理jenkins與遠程機的免交互問題。
下面如何讓jenkins與目標主機實現免交互。
系統管理-- 插件安裝--搜索ssh --安裝 Publish Over SSH
安裝完成後,在jenkins端生成秘鑰對(公鑰id_rsa.pub 私鑰id_rsa)
輸入一次密碼,以後就免密了。輸入完可以用ssh 登陸試一下。
我們以最簡單的一個例子來演示,部署一個Html頁面到遠程伺服器的nginx網站目錄下,實現頁面上線。
首先,剛才jenkins配置ssh插件,注意填寫遠程伺服器信息的那裡的remote directory這個地方指的發送到遠程伺服器的哪個目錄下。
在job配置中
上圖的配置就是,將jenkins上的項目文件init.html發送到遠端主機192.168.1.112的/var/www/html下
保存,退出。
遠端主機的nginx配置:
點擊構建。
結果:部署成功
例子比較簡單,後期會更新java的部署過程。
3. jenkins構建成功後怎麼部署到本地的tomcat
啟動Jenkins
1、 安裝jdk
從略,建議1.6或以上版本,配置好環境變數。
2、 安裝tomcat
從略,安裝完調試下tomcat是否正常。
3、 安裝ant
下載zip包,解壓後配置好環境變數。
4、 安裝jenkins
下載war包,命名為Jenkins,拷貝到tomcat/webapps目錄下。
5、 安裝Android SDK
下載安裝,完成後配置好Android_SDK_HOME環境變數。此步驟主要用於進行android自動化測試,若不進行此項可略過。
安裝完成後啟動tomcat/bin/startup.bat文件(linux下是startup.sh),在瀏覽器輸入http://localhost:8080/jenkins,8080為tomcat埠,即可訪問jenkins伺服器。
配置Jenkins
1、 JDK配置
新增JDK,指定JDK名字和JAVA_HOME
2、 ANT配置
新增ANT,指定ANT名字和ANT_HOME
3、 Maven配置
從略,本文未使用到Maven,具體配置方法參考Google。
4、 Subversion
選擇1.6版本SVN,勾選Update default Subversion credentials cache after successful authentication
5、 郵件通知
填寫SMTP server、Default user E-mail suffix、System Admin E-mail Address、Jenkins URL、勾選Use SMTP Authentication,填寫User Name、Password、Use SSL、SMTP port、Chareset(UTF-8) 、Default Content Type(默認)、Default Recipients(默認收件人),配置完成後可進行測試郵件。
6、 Jenkins URL
配置該URL,用於別人訪問。
插件管理
1、 Hudson Subversion Plug-in,jenkins的svn插件。
2、 Android Emulator Plugin,android模擬器插件。
3、 JUnit Attachments Plugin,junit測試報告附件插件。
4、 Email-ext plugin,郵件擴展插件。此處說明下,默認Jenkins只會發送構建失敗的郵件,我們需安裝此插件才能自定義不同場景。
5、 Deploy to container Plugin遠程發布插件。
4. jenkins發布項目到遠程主機上,配置兩台linux如何使用SSH免密碼登錄
國內的免費主機太少,基本沒搞,更不用說要找適合Nodejs的了。國外免費主機也有很多,但各個方面綜合比較下來還是覺得openshift靠譜,反正目前是比較靠譜的。廢話少說,下面介紹一下如何開通。 第一步,注冊openshift賬號,打開下面的注冊頁面: 需要做email驗證,進入郵箱點Verify Your Account鏈接。 點I Accept按鈕接受條款協議。 第二步,打開下面頁面創建你的第一個App 點Create your first application now鏈接進入app類型選擇類型,我們這兒就選擇Node 第五步,遠程SSH登錄 打開PuTTY客戶端,輸入Host地址 配置認證方式,選擇剛才保存的default.ppk OK, 到此PuTTY配置搞定,Open就可以鏈接到遠程主機了。 剩下的事就是通過Git管理發布應用了,It`s your time to show... 不知道以後環境搭建會不會有改變,不過現在的版本是可以這樣創建的,有疑問歡迎探討 免費用戶可以使用3個Gear,比如大家還可以再加一個MySQL和Jenkins,實現CI pipe那一套東西
5. jenkins 部署遠程tomcat後 怎麼訪問
PsService.exe \\123.21.50.111 -u administrator -p xxxx restart Tomcat7
Tomcat7為服務名
6. jenkins構建部署.net程序,怎麼實現
啟動Jenkins1、安裝jdk從略,建議1.6或以上版本,配置好環境變數。2、安裝tomcat從略,安裝完調試下tomcat是否正常。3、安裝ant下載zip包,解壓後配置好環境變數。4、安裝jenkins下載war包,命名為Jenkins,拷貝到tomcat/webapps目錄下。5、安裝AndroidSDK下載安裝,完成後配置好Android_SDK_HOME環境變數。此步驟主要用於進行android自動化測試,若不進行此項可略過。安裝完成後啟動tomcat/bin/startup.bat文件(linux下是startup.sh),在瀏覽器輸入http://localhost:8080/jenkins,8080為tomcat埠,即可訪問jenkins伺服器。配置Jenkins1、JDK配置新增JDK,指定JDK名字和JAVA_HOME2、ANT配置新增ANT,指定ANT名字和ANT_HOME3、Maven配置從略,本文未使用到Maven,具體配置方法參考Google。4、Subversion選擇1.6版本SVN,勾選、郵件通知填寫SMTPserver、DefaultuserE-mailsuffix、SystemAdminE-mailAddress、JenkinsURL、勾選UseSMTPAuthentication,填寫UserName、Password、UseSSL、SMTPport、Chareset(UTF-8)、DefaultContentType(默認)、DefaultRecipients(默認收件人),配置完成後可進行測試郵件。6、JenkinsURL配置該URL,用於別人訪問。插件管理1、HudsonSubversionPlug-in,jenkins的svn插件。2、AndroidEmulatorPlugin,android模擬器插件。3、JUnitAttachmentsPlugin,junit測試報告附件插件。4、Email-extplugin,郵件擴展插件。此處說明下,默認Jenkins只會發送構建失敗的郵件,我們需安裝此插件才能自定義不同場景。5、DeploytocontainerPlugin遠程發布插件。
7. jenkins怎麼遠程連接linux伺服器
1、安裝插件,登錄到Jenkins後台,選擇「系統管理」--->「管理插件」,在可選插件中,選擇Publish Over SSH,安裝這個插件;
2、安裝完後,配置這個選項,在系統管理中找到