A. 自動化部署工具jenkins,從此擺脫重復單調的工作
它是基於java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟體平台,使軟體的持續集成變成可能。
有了它你可以免除手工編譯,發布代碼,上線更容易。節省的時間你可以喝杯咖啡,放鬆一下 ^_^
道路千萬條,熟悉第一條,我這里使用 Red Hat 家族衍生的 centos 上安裝Jenkins。
這里可以下載rpm包: http://pkg.jenkins-ci.org/redhat/
也可以如下操作:
安裝
將Jenkins存儲庫添加到yum repos,並從此處安裝Jenkins。
安裝穩定版
還有一個LTS YUM資源庫的LTS版本線
安裝Java
Jenkins需要Java才能運行,但默認情況下某些發行版不包含此內容。要安裝Open Java Development Kit(OpenJDK),請運行以下命令:
安裝完成後Jenkins 啟動之前的注意事項
默認情況是Jenkins是使用Jenkins用戶啟動的,但這個用戶目前系統並沒有賦予許可權,這里我們將啟動用戶修改為root;另外Jenkins默認埠是8080,這個跟tomcat的默認埠沖突,我們也修改一下默認埠。
找到 JENKINS_USER 和JENKINS_PORT ,修改為root和你需要的埠
啟動/停止
注意:如果收到以下錯誤消息,請確保已安裝Java:
Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]
禁用防火牆
有關CentOS Java的重要說明
Jenkins需要Java才能運行,但yum install jenkins不強制已經安裝了java。檢查以確保您已通過運行安裝了hava java java -version。為了進一步使CentOS用戶感到困難,默認的CentOS版本的Java與Jenkins不兼容。Jenkins通常最適合使用Java的Sun實現,由於許可原因,它不包含在CentOS中。
如果您獲得類似於以下內容的輸出,則表示您使用的是Java的默認(GCJ)版本,該版本不適用於Jenkins:
要解決此問題,您可能需要刪除GC的GCJ版本並安裝Sun兼容版本。
如果收到上面的輸出,請卸載默認的java:
然後在卸載Java之後(或者如果你根本沒有安裝Java那麼開始)。您需要安裝與Sun兼容的Java版本。最簡單的方法是使用OpenJDK,它可以通過EPEL存儲庫獲得(或者您可以直接從Oracle安裝官方 RPM)。要安裝OpenJDK,請運行以下命令:
根據您的CentOS版本,OpenJDK的軟體包名稱可能有所不同。使用yum search openjdk來檢查包的名稱。如果通過yum找不到OpenJDK,則可能需要安裝EPEL yum存儲庫。安裝後,您應該能夠獲得以下java -version輸出:
Ok,到此jenkins安裝完成。
接下來你可以在瀏覽器地址中輸入Jenkins網址,如:IP:埠,將顯示如下內容:
拷貝指定文件密碼,進入用戶自定義插件界面,建議選擇安裝官方推薦插件:
接下來是進入插件安裝進度界面:
等待一段時間之後,插件安裝完成,配置用戶名密碼:
OK,你可以使用jenkins來編譯、發布你的代碼了。oh,它支持從代碼庫中直接拉取代碼,git、svn都支持。趕快使用你的Spring boot、go試試吧。
B. 如何將寫好的java程序部署到伺服器上教程
1.先安裝j2sdk
我安裝路徑是:D:\Program Files\Java\j2sdk
2.再安裝eclipse
Eclipse是綠色軟體,不需要安裝,把下載回來的eclipse壓縮包解壓就可以了
我安裝的路徑是:D:\Program Files\Java\eclipse
3.安裝tomcat
下載回來的是一安裝文件,按照安裝提示進行就可以了
我安裝的路徑是:D:\Program Files\Java\Tomcat
4.安裝eclipse插件
中文包
直接將壓縮包NLpack-eclipse-SDK-3.0.x-win32內features和plugins兩文件夾內的內容解壓到eclipse文件夾內同名文件夾就可以了。
Tomcat插件
將壓縮包tomcatPluginV3解壓,把plugins文件夾內的內容解壓到eclipse文件夾內同名文件夾就可以了。
三.環境配置
1.系統環境變數配置
右擊「我的電腦」->高級->環境變數,
設置JAVA_HOME變數指向其安裝的目錄「D:\Program Files\Java\j2sdk」;
TOMCAT_HOME變數指向其安裝的目錄「D:\Program Files\Java\Tomcat」;
PATH變數中含有「%JAVA_HOME%\bin;」;
CLASSPATH變數含有「%JAVA_HOME%\lib\tools.jar;」;
2.eclipse中java運行環境的配置
在eclipse主窗口中,「窗口」->首選項->java->已安裝的JRE,選我們已經安裝的j2sdk
3. 配置Sysdeo Tomcat 插件
在eclipse主窗口中,「窗口」->首選項->tomcat,tomcat version 選 version 5.x(我們安裝的版本),tomcat home 處填我們安裝tomcat的路徑,這里就是D:\Program Files\Java\Tomcat。
切換到Advanced選項,在tomcat base處再填我們安裝tomcat的路徑,這里就是D:\Program Files\Java\Tomcat。
切換到JVM Setting選項,確定jre是你已經安裝的j2sdk版本,我們這里選j2sdk。
切換到Tomcat Manger App,為管理界面增加一個用戶。
最後按應用按鈕,然後在確定。
檢查配置是否成功,只需在eclipse主窗口中,按tomcat運行按鈕,然後在瀏覽器里的地址欄里輸入http://localhost:8080,如果出現tomcat 的頁面,那就證明配置成功了。
四.編寫程序
1.創建一個Tomcat項目
右擊「包資源管理器」窗口中的空白處,新建->Tomcat Project, 在項目名中填寫項目名字,在這里我填tomcat_test,點擊「完成」即可。
2.創建一個JSP頁面
在包資源管理器中,右擊「tomcat_test」,新建->文件, 在文件名中填寫HelloWorld.jsp(擴展名不能缺),在文本編輯窗口輸入如下代碼:
<html>
<head>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
然後保存。
五.部署JSP頁面
這里的部署我使用比較簡單的方法:首先,把上述放在eclipse的workpalce目錄的tomcat_test目錄拷到tomcat目錄下的webapps目錄里,然後對conf目錄里的server.xml進行文本編輯,在</engin>前加入如下host元素:
<Host name="*.*.*.*" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
然後保存,接著啟動tomcat,那樣只要你在瀏覽器窗口中輸入http://*.*.*.*:8080/tomcat_test/HelloWorld.jsp瀏覽器就會顯示「Hello World」,這樣說明你的jsp頁面部署發布成功,別人就能在網上訪問你的頁面了。
(*.*.*.*是指安裝了tomcat伺服器的主機IP地址)
六.幾點說明
(1)選j2sdk而不是jre,是因為j2sdk除了有java的運行環境還有java程序所需要的類,而jre只有運行環境。
(2)由於軟體本身升級比較頻繁,經常需要重新設置使用的環境變數或者重新配置,例如把JDK版本從1.3升級到1.4,即JDK目錄名可能要從「j2sdk1.3」改為「j2sdk1.4」,如果是這樣的話,那麼eclipse可能會無法再啟動了(它要從環境變數中尋找JAVA_HOME變數,而JAVA_HOME變數值已經從「j2sdk1.3」改為「j2sdk1.4」了)。同理, jakarta-tomcat這個軟體升級比較頻繁,現在結合eclipse來使用Tomcat的,那麼每次Tomcat升級,可能都要在eclipse中重新設置一下Tomcat的安裝目錄。如果按照傳統的安裝方法,我們每次升級軟體都要進行設置或配置,這樣非常麻煩。對於此類問題,解決的方法很簡單,只要把默認的軟體安裝目錄名去掉版本號即可(如果擔心忘記版本號,只要在目錄中添加一個readme文件加以說明即可)。上述的安裝過程就使用了這種方法。
C. 如何使用Java網路啟動部署軟體
Java網路啟動(Java Web Start (JWS) )可以實現在網路瀏覽器中運行具備全部特色的Java應用軟體 Sun公司在 年三月發布的Java 就已經具備了對JWS的支持 自從J SE 版本以來 JWS就已經成為Java運行時環境(Java Runtime Environment (JRE) )的默認配置 不必再單獨安裝了 在這篇文章中 我將向您介紹這一重要技術
技術
JWS是與網路瀏覽器相結合的應用軟體 當用戶點擊鏈接的時候就會指向一個Java網路啟動協議(Java Neork Launching Protocol (JNLP) )文件 然後瀏覽器自動啟動JWS 接著下載 緩存並運行基於Java技術的應用軟體
在JWS背後的技術是JNLP及其API 它們是在Java團體進程(Java Community Process)中開發的 JWS實際上是JNLP規范的一個參考實現 JNLP技術定義了一個標準的文件格式 該格式描述了如何調用一個JNLP文件
既然安裝鏈接可以作為普通的HTTP URL的鏈接 那麼您就可以通過網頁來檢查客戶端是否安裝了JWS 您可以在IE中通過以下代碼來檢查
<SCRIPT LANGUAGE= VBScript >
on error resume next
If isIE = true Then
If Not(IsObject(CreateObject( JavaWebStart isInstalled ))) Then
javawsInstalled =
Else
javawsInstalled =
End If
If Not(IsObject(CreateObject( JavaWebStart isInstalled ))) Then
javaws Installed =
Else
javaws Installed =
End If
If Not(IsObject(CreateObject( JavaWebStart isInstalled ))) Then
javaws Installed =
Else
javaws Installed =
End If
End If
</SCRIPT>
開發
開發部署在JWS上的軟體和開發獨立運行的軟體在Java 平台上是基本相同的 比如 程序的起點都是以下的標准代碼
public static void main(String[] argv)
然而 為了支持網路部署 也就是實現自動下載和調用軟體 並且保證軟體在一個安全的沙盒中運行 還需要一些額外的考慮 包括
應用軟體必需作為JAR文件集合來使用 所有的應用軟體資源 比如文件 圖片都必需存儲在JAR文件中 而且它們都必需使用Java 平台的getResource機制來引用 應用軟體可以使用System exit調用 進行不受限制地訪問系統的軟體需要通過簽名的JAR文件來使用 而且JAR文件中所有的項目都必需經過簽名 如果軟體要運行在一個安全沙盒中 那麼它必需遵循以下的限制; 不能進行本地磁碟訪問 所有的JAR文件都必須從同一個主機下載 只能和下載JAR文件的主機之間建立網路連接 不能安裝安全管理器 不能使用本地類庫對系統屬性的訪問受到限制 對於JNLP中定義了的系統屬性 應用軟體可以進行讀/寫操作 並且對於相同的屬性集合具備和applet一樣的只讀許可權
安全
JWS是構建於Java 平台之上的 Java 平台提供了一個全面的安全架構 在Java 版中 JWS則提供了更加強大的安全特色 比如代碼簽名
在默認狀態下 通過JWS調用的應用軟體將運行在一個受到限制的環境中(一個 沙盒 ) 它們對本地計算資源的訪問 比如存儲早基設備和本地網路 是有限的 這樣 JWS就保證了下載的潛在的不可信盯扮任的軟體不會危及到本地文件或網路
當然 應用程序也可以請求不受限制凱睜灶的本地系統訪問 在這種情況下 當該軟體第一次調用時 JWS將顯示安全警告對話框 安全警告的內容包含軟體開發者的信息
如果一個應用軟體包含了一個或多個經過簽名的JAR文件 JWS將會驗證這些JAR文件在簽名後是否發生過變化 如果數字簽名的認證失敗 那麼JWS就不會運行該軟體 因為它們已經被第三方修改過了 通過在JNLP文件中添加以下的設置 一個應用軟體可以請求完整的許可權
<security>
<all permissions/>
</security>
JNLP 文件
JNLP是一個和JWS緊密相關的概念 它經常可以和術語 網路啟動 相互替代使用 實際上 JNLP是一個規定了JWS應用軟體如何啟動的協議 JNLP中的包含了諸如JAR包文件的位置 應用軟體主要類的名稱 以及程序的其它一些參數 在適當配置的瀏覽器中 JNLP文件是傳遞給JRE的 然後JRE將會下載應用軟體到用戶的機器上並開始執行
一個JNLP文件不包含任何二進制數據 實際上它包含的URL指向所有的二進制數據和二進制代碼資源 這些文件還可以指向其他的JNLP文件 它們被稱為擴展描述符 一個擴展描述符通常描述了運行軟體所必需的組件 在擴展描述符中描述的資源將會成為應用軟體類路徑的一部分 這樣 常用的功能只需要描述一次即可 以下的例子是一個常見的JNLP文件
<?xml version= encoding= UTF ?>
<jnlpcodebase= _app >
<information>
<title>Hello world!</title>
<vendor>My Web Company</vendor>
<icon />
<offline allowed/>
</information>
<resources>
<j se version= + />
<jar />
</resources>
<application desc main class= helloworld Hello />
</jnlp>
這個JNLP文件描述了如何調用名為Hello的程序 在JNLP文件中指定了需要 或更高版本的Java來運行該程序 同時還有一些與程序相關的信息 這些信息都會在用戶下載的過程中顯示
如果您希望了解更詳細的JNLP協議和文件格式 可以參考這個官方規范
結論
JWS提供了一種與平台無關的 安全的而且強大的部署技術 開發者只需要將應用軟體部署在網路伺服器上就可以為最終用戶提供全部的功能 而最終用戶也只需要使用網路瀏覽器就可以運行所需的應用軟體 而且永遠是最新的版本
JWS的一個主要優點是它克服了Java插件和不同Java虛擬機的兼容性問題 但是 使用網路啟動的程序卻不能像applet一樣簡單地和瀏覽器進行通訊
lishixin/Article/program/Java/hx/201311/26465
D. 如何把java程序部署到tomcat里
1,把java的web工程打成一個war包。
2,把war包上傳到tomcat目錄下的webapps目錄下
3,進入tomcat的bin目錄下,雙擊啟動startup.bat