導航:首頁 > 網站知識 > 網站自動化部署是什麼

網站自動化部署是什麼

發布時間:2022-09-02 23:06:08

A. 自動化部署都用到哪些技術

實現自動化更新代碼(需要連接svn/git等版本控制工具),自動重新部署項目,打包到TOMCAT中也就是說開發的提交了代碼,測試的登錄jenkins頁面點一下構建,後台就全自動部署完成了。

B. DevOps針對部署自動化運維有什麼作用

DevOps有強大的部署自動化手段,可以確保部署任務的可重復性、減少部署出錯的可能性,因為DevOps能夠減少應用程序的變更范圍並彌補開發與運營部門間的技能和溝通鴻溝。

C. 如何利用webhook搭建自動化部署

部署的問題可以用 Fabric 或者 Ansible 來解決,增加機器就是改一個配置項的工作量。
在部署腳本里定義好部署的工作流,一般就是:

准備環境,安裝依賴
更新代碼
構建編譯
重啟服務
對於監控應用程序掛掉自動重啟的事情,可以交給 Supervisor: A Process Control System

D. 自動化部署工具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試試吧。

E. 如何利用git webhooks 實現網站代碼自動化部署

1. 生成公鑰

公鑰有兩個:1. git用戶公鑰,2. 部署公鑰:

git用戶公鑰

ssh-keygen -t rsa -C "[email protected]"
# 然後一直回車就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用戶請查看提示上的路徑

1
2
3

ssh-keygen -t rsa -C "[email protected]"
# 然後一直回車就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用戶請查看提示上的路徑

部署公鑰

sudo -Hu www ssh-keygen -t rsa # 請選擇 「no passphrase」,一直回車下去

2. 准備鉤子文件

創建和修改目錄許可權:

mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook

1
2

mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook

寫入鉤子文件:

sudo -Hu www touch /home/wwwroot/website.com/hook/index.php

1

sudo -Hu www touch /home/wwwroot/website.com/hook/index.php

<?php

error_reporting(1);

$target = '/home/wwwroot/website.com'; // 生產環境web目錄

$token = '您在coding填寫的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';

$json = json_decode(file_get_contents('php://input'), true);

if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}

$repo = $json['repository']['name'];

// $cmds = array(
// "cd $target && git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );

// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }

// 感謝@墨跡凡指正,可以直接用www用戶拉取代碼而不用每次拉取後再修改用戶組

$cmd = "sudo -Hu www cd $target && git pull";

shell_exec($cmd);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

<?php

error_reporting(1);

$target = '/home/wwwroot/website.com'; // 生產環境web目錄

$token = '您在coding填寫的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';

$json = json_decode(file_get_contents('php://input'), true);

if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}

$repo = $json['repository']['name'];

// $cmds = array(
// "cd $target && git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );

// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }

// 感謝@墨跡凡指正,可以直接用www用戶拉取代碼而不用每次拉取後再修改用戶組

$cmd = "sudo -Hu www cd $target && git pull";

shell_exec($cmd);

確保你的hook文件可以訪問:http://example.com/hook/index.php,鉤子准備完成。

3.修改git配置和保存git用戶名密碼

sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "[email protected]" # 郵箱請與conding上一致

1
2
3

sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "[email protected]" # 郵箱請與conding上一致

在Coding網站

1.添加用戶公鑰

復制/root/.ssh/id_rsa.pub內容到個人設置頁的SSH公鑰里添加即可(https://coding.net/user/account/setting/keys)

2.添加部署公鑰

復制/home/www/.ssh/id_rsa.pub的內容並添加到部署公鑰:

選擇項目 > 設置 > 部署公鑰 > 新建 > 粘貼到下面框並確認

3.添加hook

選擇項目 > 設置 > WebHook > 新建hook > 粘貼你的hook/index.php所在的網址。比如:http://example.com/hook/index.php, 令牌可選,但是建議寫上。

稍過幾秒刷新頁面查看hook狀態,顯示為綠色勾就OK了。

初始化

1.我們需要先在伺服器上clone一次,以後都可以實現自動部署了:

sudo -Hu www git clone https://git.coding.net/yourname/yourgit.git /home/wwwroot/website.com/ --depth=1

1

sudo -Hu www git clone https://git.coding.net/yourname/yourgit.git /home/wwwroot/website.com/ --depth=1

這個時候應該會要求你輸入一次Coding的帳號和密碼,因為上面我們設置了永久保存用戶名和密碼,所以之後再執行git就不會要求輸入用戶名和密碼了。

**!!注意,這里初始化clone必須要用www用戶**

2.往Coding.net提交一次代碼測試:

在本地clone的倉庫執行:

git commit -am "test hook" --allow-empty
git push

1
2

git commit -am "test hook" --allow-empty
git push

OK,稍過幾秒,正常的話你在配置的項目目錄里就會有你的項目文件了。

初始化Laravel框架

1. 下載Composer

在項目目錄下執行:

sudo -Hu www curl -sS https://getcomposer.org/installer | php
sudo -Hu www php composer.phar install

1
2

sudo -Hu www curl -sS https://getcomposer.org/installer | php
sudo -Hu www php composer.phar install

**!!記得在本地提交的時候在.gitignore中加上composer.phar**

F. 「openstack」自動化部署有哪些工具

Fuel比較值得推薦
這是Mirantis出品的部署安裝工具,2013年10月份,推出他的3.2版本,讓人很震撼,基本算是把Openstack所有的部署都web化,你可以太多的選擇:尤其是網路,存儲。這基本都是大家學習的榜樣。已經敢和企業簽訂SLA。
目前國內杜玉傑,九州雲,在做該項目的漢化工作和考慮日後的技術支持。

Devstack
這應該算是Openstack最早的安裝腳本,他是通過直接git源碼,進行安裝,目的是讓開發者可以快速搭建一個環境。目前這套腳本可以在Ubuntu和Fedora下跑的很好。
如果你想了解新版本的功能,通過Devstack是一個最佳選擇。我第一次成功安裝Openstack,就是用這個。
Diablo安裝腳本
這算是我知道的第一個基於ubuntu 源的安裝腳本,當時Diablo發布的時候,有bug,keystone和Horizon無法一起工作,ubuntu 11.10源里的包也是有相同的bug,並且Ubuntu 官方並不打算維護和升級。這位作者個人身份,維護了Diablo 版本後來的升級,打包,並且寫了一套腳本。

這套腳本,其實寫的非常好,我同事改造了一下,就可以安裝Essex版本。目前正在改進,用來安裝Folsom版本。
Stackops
Openstack起步的時候,官方的安裝文檔,其實基本都是來自Stackops,當時他們提供Openstack的部署服務。你下載一個iso,裝完一個ubuntu系統後,就會轉到他們的web,你填寫相關的配置參數,通過chef進行部署。
Stackops在Chef上是比較強悍的,包括Dell的Crowbar,也是和他合作,才搞定Chef。不過我的理解,他的Chef 腳本是沒有開源的。
Stackops通過商業定製,進行收費。目前感覺有點走下坡路,業內的聲音比較小了。對openstack的新版本支持比較慢,Essex支持,到9月份才支持。目前還沒有任何關於Folsom 的支持。
Crowbar
在Openstack上,Dell是有點郁悶,中國的那句老話,起個大早,趕個晚集。Openstack剛發布的時候,Dell就號稱要做一個工具部署,不過畢竟是硬體公司,對軟體還是比較外行。
Dell的Crowbar,是一個iso,裝完後,你可以在web界面進行Openstack的部署,底下其實也是使用Chef。集成了Nagios監控,安裝OS是dell自己開發的,有點創新。
以前Dell的Crowbar一個大的特色就是可以遠程設置機器的Raid和Bios,這是從Dell,我才知道可以這樣做。不過也正因為這個特色,導致廠商綁定,還有Dell自己如何定位Crowbar,當初還想搞一個商業的版本,結果後來放棄。
Crowbar目前的開發,其實應該是遇到問題,任何做部署工具的,應該都是一個很好的失敗的案例。後續的發展,維護,更新都是問題。

Maas+Juju
這是Canonical推出的部署工具,可以用在Openstack的部署,類似Puppet,Chef 的部署工具。Maas是用於安裝ubuntu,juju是用於部署應用。

G. 什麼是自動化運維

自動化運維

1、自動化運維就是把周期性、重復性、規律性的工作都交給工具去做,具體來說有應用系統維護自動化,巡檢自動化和故障處理自動化這三個方面。自動化運維依賴於具體的智能管理平台,最終達到提升運維效率的目的。目前有銳捷網路推出的RIIL Emotion自動化運維,能夠自動解決用戶在IT管理中的日常運維問題。

2、自動化運維是指將IT運維中日常的、大量的重復性工作自動化,把過去的手工執行轉為自動化操作。自動化是IT運維工作的升華,IT運維自動化不單純是一個維護過程,更是一個管理的提升過程,是IT運維的最高層次,也是未來的發展趨勢。

(7)網站自動化部署是什麼擴展閱讀:

自動化運維能解決的問題

1、項目整體工作效率提升。

2、減少人為誤操作,提升SLA。

3、方便信息傳遞,配置類信息聚合,信息鏈更完整。

4、事務留痕,方便跟蹤,追述。

5、運維工作更加輕松、靈動。

6、提升運維工作價值,管理更多資源,更多服務對象。



H. 大家都是用什麼自動化部署工具的啊 - PHP進階討論

現在已經出現一些自動部署系統供應商,我們公司Electric Cloud的產品Electric Flow是一個支持端到端自動化的平台,可支持與配置庫SVN集成,自動構建、調用自動化測試以及自動部署到你需要的環境。 平台支持自定義自動化流程可解決任何復雜的部署過程。
Electric Cloud總部在美國矽谷,國內你可聯系我:[email protected]

I. 請問華雲數據超融合產品的自動化部署需要哪些步驟謝謝啦

華雲數據超融合產品提供雲就緒的管理平台,僅需自動化集群主機信息獲取, 自動化集群配置, 以及自動化部署三個步驟即完成大規模集群的自動化部署,實現雲數據中心及私有雲、混合雲環境的輕松部署

閱讀全文

與網站自動化部署是什麼相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:527
電腦無法檢測到網路代理 瀏覽:1376
筆記本電腦一天會用多少流量 瀏覽:593
蘋果電腦整機轉移新機 瀏覽:1380
突然無法連接工作網路 瀏覽:1075
聯通網路怎麼設置才好 瀏覽:1230
小區網路電腦怎麼連接路由器 瀏覽:1052
p1108列印機網路共享 瀏覽:1215
怎麼調節台式電腦護眼 瀏覽:715
深圳天虹蘋果電腦 瀏覽:951
網路總是異常斷開 瀏覽:617
中級配置台式電腦 瀏覽:1011
中國網路安全的戰士 瀏覽:637
同志網站在哪裡 瀏覽:1420
版觀看完整完結免費手機在線 瀏覽:1464
怎樣切換默認數據網路設置 瀏覽:1113
肯德基無線網無法訪問網路 瀏覽:1290
光纖貓怎麼連接不上網路 瀏覽:1495
神武3手游網路連接 瀏覽:969
局網列印機網路共享 瀏覽:1005