A. VS2010發布Web項目出錯:Web 部署任務失敗,讀取iis配置架構時出錯
可以發不到文件系統。目標位置:選擇文件夾地址就可以了。
這種方式一般不會出錯。
B. Web 部署任務失敗
直接輸入localhost:8080/sms這個有反應嗎,如果有的話那說明項目部署成功,如果沒反應說明項目部署失敗,你需要查看日誌看看項目到底部署成功沒有。
查看log下面的catalina.log這個文件,看看有沒有error
C. websphere(was)應用部署
使用發布平台的進行應用部署時候,需要填寫參數,'-MapWebModToVH',對於數據源綁定server的,直接安裝,不需要制定數據源,需要指定數據源的時候,填寫"-MapResRefToEJB"參數,具體參數填寫,參照手動在was控制台安裝的參數。
如指定虛擬主機:
Utan.ear是一個ear包,UtanWeb是ear中的一個war包,fpt沒有對應的包。在手動安裝過程中可以看到對應的參數:
模塊名稱以及URI就是虛擬主機的綁定參數,所以有:
MapEJBRefToEJB選項將企業Java引用映射到企業bean。 您必須將應用程序中定義的每個企業bean引用映射到企業bean。 使用此選項可提供缺少的數據或更新到任務。
這里用了匹配方式,在測試的過程中,發現配置了'-MapEJBRefToEJB'之後,有些JNDI找不到:
com.utan.platform.ejb.dbaccess.DBAccessLocalHome在正常運行的應用當中也的確是沒有。
createMBeansForResources選項指定為應用程序在部署目標上啟動時在應用程序中定義的所有資源(如servlet,JavaServer Pages(JSP)文件和企業bean)創建MBean。 此選項不需要值。 默認設置是nocreateMBeansForResources選項。
對應著:
MapSharedLibForMod選項將共享庫分配給應用程序或每個模塊。 您可以將多個共享庫關聯到應用程序和模塊。 運行默認綁定後,此選項的當前內容如下:
Mole: xxx
URI: META-INF/application.xml
Shared libraries: <share libraries>
綜上所述:Utan.ear的options可以寫成這樣:
也可以只指定虛擬主機:
各種平台的參數結構不一致,但是was參數是不變的,請以具體情況拼寫參數的json
D. vs2010怎麼發布web應用程序
裝個WebDeploymentSetup2010.msi
就可以在vs2010中發布web網站了
E. 如何部署一個ruby on rails的web應用程序
Ruby on Rails 正在令整個 Web 開發領域受到震憾。讓我們首先了解底層的技術:
Ruby 是一門免費的、簡單的、直觀的、可擴展的、可移植的、解釋的腳本語言,用於快速而簡單的面向對象編程。類似於 Perl,它支持 處理文本文件和執行系統管理任務的很多特性。
Rails 是用 Ruby 編寫的一款完整的、開放源代碼的 Web 框架,目的是使用更簡單而且更少的代碼編寫實際使用的應用程序。
作為一個完整的框架,這意味著 Rails 中的所有的層都是為協同工作而構造的,所以您不必自己再重復,可以完全只使用一門單一的語言。 在 Rails 中,所有內容(從模板到控制流再到業務邏輯)都是用 Ruby 編寫的。Rails 支持基於配置文件和注釋的反射(reflection)和運行時擴展。
本文詳細介紹了 Rails 的組成部分,並介紹了它的工作原理。
Rails 介紹
關於 Rails,首先需要理解的是它的模型/視圖/控制器(model/view/controller,MVC)架構。雖然這種技術不是 Rails 所特有的 —— 甚至不是 Web 應用程序所特有的(相對於其他程序),但是 Rails 具有非常清晰而專一的 MVC 思維方式。如果您並不使用 MVC 方法,那麼 Rails 的用處將大為降低(與遵循其模式的情況相比)。
模型
Rails 應用程序的模型部分主要是它所使用的底層資料庫。實際上,在很多情形中 Rails 應用程序正是以一種受管理的方式對關系型資料庫管理 系統(RDBMS)中的數據執行操作的一個途徑。
ActiveRecord 類是 Rails 的一個核心組成部分,它將關系型表映射為 Ruby 對象,使其成為控制器可以操作並能在視圖 中顯示的數據。Rails 應用程序特別傾向於使用廣為應用的 Mysql 資料庫,不過也有與很多其他 RDBMS 的綁定,比如 IBM? DB2?。
如果您願意,您可以添加 Ruby 代碼來在應用程序模型中執行額外的驗證,加強數據關聯,或者觸發其他操作。應用程序的 app/models/ 目錄中的 Ruby 文件能夠調用 ActiveRecord 的多種驗證方法。不過,您也可以將模型代碼留作一個存根,而只是依賴保存數據 的 RDBMS 的約束。例如,我在這個示例中所開發的應用程序只包含這個骨架模型代碼(至少在開始時是):
清單 1. 骨架模型 app/models/contact.rb
class Contact < ActiveRecord::Base
end
控制器
控制器以其抽象形式執行應用程序的邏輯。也就是說,應用程序的 app/controllers/ 目錄中的 Ruby 腳本能把模型數據導入為變數,保存回去,或對其進行修改 和處理。不過,控制器不關心用戶如何適當地顯示或者輸入數據。在通常的 MVC 模型中,這可以讓用戶能夠以多種方式與同一控制器進行交互:本地 GUI, Web 界面,以及視力較弱的人使用的語音界面都可以與相同的控制器進行交互。
不過,Rails 不像那樣非常通用;相反,它僅局限於在 Web 頁中提供和收集數據。雖然如此,但是您可以修改那些 Web 頁的布局 —— 顏色、字體、表格、 樣式表單,等等 —— 與控制器代碼無關。
視圖
Rails 視圖是我們編寫 Ruby 代碼的地方。Rails 包含有一門用於 .rhtml 的非常好的模板語言,它將純粹的 HTML 與嵌入的 Ruby 代碼組合起來。 Rails 應用程序界面的最表層外觀通常是由 CSS 樣式表單控制的。.rhtml 格式是一種增強的 HTML。實際上,一個簡單的 HTML 文件本身也是一個 合法的 RHTML 模板,不過,不應該忽略 RHTML 為您提供的腳本控制。
RHTML 是真正的模板格式 —— 不僅是在 HTML 中嵌入代碼的方式 —— 這是一種更為有效的方法。如果您熟悉 PHP,那麼可以考慮 PHP 本身與 Smarty 模板之間的對照。也就是說,嵌入的腳本只是將代碼與未被解釋的 HTML 混合在一起;當需要向客戶機輸出某些內容時,代碼部分 仍要負責執行 print 語句。
與之不同的是,模板引擎向 HTML 添加了一組定製的標簽,讓您能夠將條件、循環以及其他邏輯作為增強的 HTML 標記的一部分來表示。
回頁首
生成代碼
Rails 所提供的工具主要是一組代碼生成器。相對於那些強迫我使用嚴格的工作空間和 IDE 的開發環境,我更喜歡這種方法。 Rails 不會妨礙您,但是卻會為您省去大部分手工編程的工作 —— 或者,通過提供「可自由獲得的」初步(first-pass)支架(scaffolding), 至少幫助您輕松將需要手工編碼的工作分為多個部分。
支架 概念是 Rails 中的核心概念。非常簡單的應用程序可能完全不用編碼,讓 Rails 在運行時動態地生成客戶機 HTML 頁面。 第一遍生成代碼時創建的只是粗略的支架;接下來您可以生成更詳細的能夠定製的控制器、視圖和模型。不過在開始時不需要生成太多。
Rails 對其文件的組織是固定的而且非常普通的,不過這種組織相對嚴格。如果您試圖強行使用其他文件和代碼組織方式,那麼您可能得 付出努力去修改 Rails 環境。再者說,我找不到不使用 Rails 所提供的組織方式的理由;在大部分情況下,它「fits your brain」(Ruby 的 支持者喜歡這樣講)。例如,如果您從頭開始設計一個框架(至少如果您以「Ruby 方式」思考),那麼這些目錄名稱及其組織可能與您的選擇非常接近。
回頁首
構建一個簡單的應用程序
在 Ruby on Rails Web 站點上有一些教程,可以完整地引導您創建一個簡單的 Rails 應用程序(見 參考資料)。 這里的示常式序與之類似,因為正確開始構建 Rails 應用程序的方式是確定的。由於此介紹的長度相對較短,所以我 極力 推薦 那些較長的教程中的一篇,以使得您能夠打好更為全面的基礎。
示例應用程序是一個基本的通訊錄。它演示了創建應用程序的一般步驟:
生成模型(在此步驟中創建 MySQL 資料庫和表)。
生成應用程序(包括生成基本代碼和目錄)。
啟動 Rails(並配置資料庫的訪問)。
創建一些內容(包括生成支架模型和控制器,並告知控制器去使用那個支架)。
我們將詳細研究每一個步驟。
生成 AddressBook 模型
對於任何應用程序,您需要做的第一件事情是為它創建一個存放數據的資料庫。技術上這個步驟不必最先進行,不過需要在早期完成;應該在編寫任何 應用程序代碼(甚至是自動生成的代碼)之前創建資料庫,這應該是顯然的。所以,讓我們在 MySQL 資料庫中創建一個資料庫,並在此資料庫中創建第一張表。 (閱讀其他文檔以了解如何安裝運行 MySQL 或其他 RDBMS。)
我們假定 MySQL 已經安裝並且可用。
清單 2. 創建 MySQL 資料庫和表
[~/Sites]$ cat AddressBook.sql
CREATE DATABASE IF NOT EXISTS AddressBook;
USE AddressBook;
CREATE TABLE IF NOT EXISTS contacts (
id smallint(5) unsigned NOT NULL auto_increment,
name varchar(30) NOT NULL default '',
created_on timestamp(14) NOT NULL,
updated_on timestamp(14) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY name_key (name)
) TYPE=MyISAM COMMENT='List of Contacts';
[~/Sites]$ cat AddressBook.sql | mysql
在這第一張表中有些地方需要注意。最重要的是每一張表都必須擁有一個 id 列,列名稱就是 id。Rails 使用 主鍵列 id 來完成各種記錄保持和引用任務。域 created_on 和 updated_on 是不需要的,不過,如果您使用了它們,那麼 Rails 會自動地「在後台」維護它們;在大部分情況下使用這些時間戳沒有什麼不好。所以,您還要添加的「真正」 數據就只是通訊錄內容的名稱。
另一個稍微古怪的方面是,Rails 為不同的內容使用單數和復數的名稱。根據上下文,各種條目會被重命名為單數或復數形式。表的名稱應該使用復數格式。 我沒有使用不規則復數單詞的經驗;datum 和 data 等單詞可能會令 Rails 出現問題。
生成 AddressBook 應用程序
既然已經擁有了一個能夠交互的資料庫,就可以創建 AddressBook 應用程序了。第一個步驟是簡單地運行 rails 來生成基本目錄和支架代碼:
清單 3. 生成基本代碼和目錄
[~/Sites]$ rails AddressBook
create
create app/apis
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
[...]
create public/images
create public/javascripts
create public/stylesheets
create script
[...]
create README
create script/generate
create script/server
[...]
我刪減了運行 rails 的輸出;所忽略了那些行只是提醒您已經創建的各種文件和目錄。在您的系統上試運行它,瀏覽生成的所有文件。 我已經在代碼中顯示了一些最重要的文件和目錄。
運行 Rails
創建了 AddressBook/ 目錄和所需要的子目錄後,您需要執行一次惟一的初始配置。首先,通過修改 YAML 配置文件來設置資料庫,如下:
清單 4. 配置資料庫訪問
[~/Sites]$ cd AddressBook
[~/Sites/AddressBook]$ head -6 config/database.yml # after editing
development:
adapter: mysql
database: AddressBook
host: localhost
username: some_user
password: password_if_needed
最後,您需要提供數據。Rails 附帶了它自己的單一功能的 Web 伺服器,即 WEBrick,非常適用於我們的試驗。您可能也會遵循 Ruby on Rails Web 站點上的說明來配置 Apache 或者其他伺服器,以通過 FCGI(或者普通的 CGI,但是普通的 CGI 將會較慢)向 Rails 應用程序提供服務。
清單 5. 啟動 WEBrick 伺服器
[~/Sites/AddressBook]$ ruby script/server -d
=> Rails application started on http://0.0.0.0:3000
[2005-03-21 17:57:38] INFO WEBrick 1.3.1
[2005-03-21 17:57:38] INFO ruby 1.8.2 (2004-12-25) [powerpc-darwin7.8.0]
創建一些內容
要在 WEBrick 埠上看到一個歡迎頁面,先前的步驟就足夠了。例如,在我的本地系統中,現在可以訪問 http://gnosis-powerbook.local:3000/。不過,為了操作定製資料庫,需要 生成稍微多一些代碼。可以使用腳本 generate 來完成此任務, 這個腳本創建在 AddressBook/ 應用程序目錄中:
清單 6. 支架模型和控制器代碼的生成
[~/Sites/AddressBook]$ ruby script/generate model contact
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/contact.rb
create test/unit/contact_test.rb
create test/fixtures/contacts.yml
[~/Sites/AddressBook]$ ruby script/generate controller contact
exists app/controllers/
exists app/helpers/
create app/views/contact
exists test/functional/
create app/controllers/contact_controller.rb
create test/functional/contact_controller_test.rb
create app/helpers/contact_helper.rb
注意,在相應的表名中,這里應該使用單數的 contact,而不是復數的 contacts。
現在需要編輯一個或多個生成的文件(只需稍加編輯)來讓控制器去使用支架:
清單 7. 告知控制器去使用支架
[~/Sites/AddressBook]$ cat app/controllers/contact_controller.rb
class ContactController < ApplicationController
model :contact
scaffold :contact
end
F. 如何使用vSphere Web Client部署虛擬機
你可能通過vSphere Client部署了數百個或數千個虛擬機。針對vSphere 5.1,VMware建議你開始使用vSphere Web Client來進行所有的vSphere管理,因為下一個版本中不會再有vSphere Client。換句話說,言外之意就是「現在不學習,以後會後悔。」你執行的最常見的任務之一就是部署一個新虛擬機,所以不妨學習如何用vSphere Web Client部署虛擬機。
之前版本的vSphere Web Client功能非常有限。有了最新版本(截至截稿日期是版本5.1),部署虛擬機的方法要多得多,絕不僅限於「創建一個新虛擬機」這一種。實際上,你會找到部署虛擬機的眾多不同的方法:
•從頭開始創建一個新虛擬機;
•通過模板部署一個新虛擬機;
•克隆虛擬機;
•將虛擬機克隆到模板;
•將虛擬機轉變為模板;
•將模板克隆到模板;
•將模板轉變為虛擬機;
•定製虛擬機訪客操作系統
對於之前沒有用過vSphere Web Client的那些人來說,可能會驚訝地發現:它擁有處理所有這些任務的強大功能。畢竟,不久前,Web Client的用途還僅限於簡單地檢查虛擬機的狀態,另帶開啟和關閉虛擬機的選項。
如今,Web Client功能完備,幾乎可以取代傳統的基於Windows的vSphere Web Client(而VMware正在迅速填補餘下的空白)。不妨看看在最新版本中,vSphere主機視圖如今看起來有多漂亮(見圖1)。
圖1:vSphere主機視圖如今的外觀。
雖然我們沒有時間在這篇短文中詳細探討上述列表中的每一項任務,但是我們可以介紹最常見的虛擬機部署方法:通過vSphere Client5.1創建虛擬機。
G. 學習WEB前端怎樣入門
前端工程師,也叫Web前端開發工程師。是隨著web發展,細分出來的行業。
Web前端開發技術主要包括三個要素:HTML、CSS和JavaScript.
Web前端開發要求前端開發工程師不僅要掌握基本的Web前端開發技術,網站性能優化、SEO和伺服器端的基礎知識,而且要學會運用各種工具進行輔助開發以及理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等。
隨著近兩三年來RIA(Rich Internet Applications的縮寫,中文含義為:豐富的網際網路應用程序)的流行和普及帶來的諸如:Flash/Flex,Silverlight、XML和伺服器端語言(PHP、http://ASP.NET,JSP、Python)等語言,前端開發工程師也需要掌握。
前端開發的入門門檻其實很低,與伺服器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。
學習 HTML,CSS 應該先跟著書仔細、扎實的學一遍。然後就需要做大量的練習,做各種常規的、奇怪的、大量的布局練習來捆固、理解自己的知識。而學習 Javascript 首先要知道這門語言可以做什麼,不能做什麼,擅長做什麼,不擅長做什麼。如果只想當一個普通的前端程序員,只需要記住大部分 Javascript 函數,做一些練習就可以了。如果想當深入了解Javascript,需要了解 Javascript 的原理,機制。需要知道他們的本源,需要深刻了解 Javascript 基於對象的本質。還需要 深刻了解 瀏覽器宿主 下 的 Javascript 的行為、特性。
H. Gitlab+Jenkins通過鉤子實現自動部署web項目,圖文詳細教程
擴展參考:Jenkins+Gitlab通過腳本自動部署回滾web項目至集群
1):Gitlab伺服器:ubuntu 192.168.152.131 ---參考搭建:Linux安裝gitlab,docker安裝gitlab教程
2):Jenkins伺服器:ubunu 192.168.152.130 ---參考搭建:linux安裝Jenkins,或docker安裝Jenkins教程
在伺服器上生成ssh-keygen,用於配置web伺服器和Gitlab伺服器。
3):web伺服器:centos 192.168.152.150 ---已搭建好LNMP環境
4):開發者電腦:Windows+key密鑰 (用於提交代碼)
1:在gitlab創建項目Test Project
2.1): 配置一個開發者電腦的ssh公鑰到gitlab
配置一個開發者電腦的ssh公鑰到gitlab,這樣才能模擬開發上傳代碼到gitlab。
windows生成key過程及git安裝,可參考:Windows下git和github的使用圖文詳細教程_the丶only的博客-CSDN博客_github win
在windows測試clone,和提交代碼。
註:最新版git 已經將默認分支master改為main了。所以看到main,而不是master不要太奇怪
測試成功,在gitlab也顯示有index.html文件。
2.2): 配置jenkins公鑰到gitlab
同理,同樣需要jenkins公鑰,因為jenkins也需要拉去gitlab的代碼。
在 jenkins伺服器 上查看公鑰並復制添加到gitlab,並命名為jekins。
1:插件管理,安裝插件
jenkins本身沒什麼功能,主要是依靠插件來實現各種強大的功能。
基本需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter
可以在 Manage Jenkins >> Manage Plugins 查看管理插件。在Available 選項搜索安裝插件即可。
安裝完成後,重啟Jenkins。
2:添加需要部署的web主機
在 Manage Jenkins >> Configure System 中往下翻,找到 Publish over SSH 選項,點擊add ssh server。
在Jenkins伺服器上,查看私鑰,注,是私鑰,不是公鑰。
將私鑰填寫在key位置,還有添加web伺服器相關信息。
註:如果測試報錯如下
Failed to connect or change directory
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@2e54414f]
是因為默認用ssh-keygen命令,默認生成了OPENSSH 格式密鑰。而Jenkins暫時不支持這種私鑰,私鑰開頭結尾如下:
所以,需要生成rsa密鑰格式的。用開頭說的ssh-keygen加其他參數生成即可。
私鑰開頭結尾如下:
再次測試,顯示success,則成功。然後點擊save保存即可。
3:構建任務項目
首頁創建任務或者一個項目
命名為web-project,選擇為freestyle project 自由項目。然後ok確認。
3.1):源碼管理 Source Code Management
選擇源碼管理,添加gitlab的項目clone地址。
註:最後路徑選擇分支,我gitlab主分支名字為main,如果是master,則寫master,或者合並的其他分支。
在add添加用戶
添加完成後,選擇git用戶,這時沒有紅色提醒,說明已成功連接
3.2):構建觸發器 Build Triggers
現在Build Triggers,勾選build when....,其他默認,並記下鏈接 http://192.168.152.130:8080/project/web-project
點擊高級 advance 選項。
勾選filter branches regex選擇,填寫分支,生產token。其他默認
3.3):構建 Build
選擇Build 選項。選擇ssh
添加web伺服器
添加完畢,最後save保存。
1:添加鉤子webhooks.
選擇自己的項目Test Project,在設置setting里,選擇鉤子webhooks.
填寫剛才記下的http://192.168.152.130:8080/project/web-project和token值。
最後Add webhook完成:
2:如添加失敗,報錯,更改Network
註:如填寫失敗提示Url is blocked: Requests to the local network are not allowed
還需更改Network選項。
3:測試鉤子
添加完成後,下面會出現鉤子選擇。點擊test中的,push event。
出現successful,即添加成功。
在Jenkins也可以看到剛才的測試時間信息。
在開發電腦上測試提交,我這里為Windows電腦測試。
打開Git Bash,輸入以下命令:
提交成功,回到Jenkins,查看是否構建成功:
綠色顯示構建成功,無錯誤顯示。回到gitlab查看項目。
時間顯示剛才也提交成功,無錯誤。最後在瀏覽器輸入web地址測試,本人配置了web訪問埠8082。所以輸入IP加埠訪問。
內容也已經自動更新成功。
完結撒花!!!