使用jenkins svn搭建可持續部署環境

2022-09-08 05:21:13 字數 1633 閱讀 5944

背景:

最近專案小組申請了開發伺服器,需要搭建一套自動化環境用於部署各類應用。

我選用了

jenkins+svn+zookeeper+dubbo

理由:本身專案在轉dubbo,所以需要zookeeper+dubbo環境。

專案本身是用svn在管理的。

可持續化部署選用jenkins,因為測試小組使用jenkins。

jdk安裝1.8和1.7

搭建jenkins環境

選用的是jenkins+tomcat7

安裝tomcat,把jenkins的war包放入tomcat去啟動。

jenkins構建專案啟動依賴於shell指令碼,需自行編寫。

但是當jenkins構建完成以後會殺死衍生程序,所以需要設定jenkins的環境變數build_id=dontkillme

發現存在一種問題,就是當tomcat一直啟動不停止的話,catalina.out會一直不斷的增加。

(其實catalina.out是可以拆分的,方法有很多)

但是我決定寫shell指令碼定時去殺程序,並且清空日誌。

當殺死tomcat重啟之後,jenkins就無法開啟,一直白屏,請求是404,但是其他tomcat裡的應用啟動正常。

這是遇見的乙個bug,沒有解決。

搭建zookeeper+dubbo環境

其實也就是zookeeper環境+dubboadmin後台

1,因為專案本身在轉dubbo,選擇zookeeper作為註冊中心

3,模擬zookeeper集群環境,搭建偽集群,因為zookeeper是超過半數成功就算成功,所以搭建3臺zookeeper。

1,新建乙個zoo.cfg檔案,其實就是把zoo-sample.cfg檔案複製改個名字

2,編輯zoo.cfg檔案

新建datadir和datalogdir,並且指定目錄

3,如果要做集群的話

配置需要增加為zoo1.cfg,zoo2.cfg,zoo3.cfg,每個檔案裡面增加

server.0=192.168.192.128:2888:3888【192.168.192.128伺服器上面的myid填寫0】
server.1=192.168.192.129:2888:3888【192.168.192.129伺服器上面的myid填寫1】
server.2=192.168.192.130:2888:3888【192.168.192.130伺服器上面的myid填寫2】
並且每個檔案都要有datadir和datalogdir,不同名。
4,在新建的datadir目錄下分別新建myid檔案,裡面的內容為0,1,2.和zoo1.cfg等裡面的server.0等等保持一致。

5,然後用shell指令碼啟動

其實shell本身啟動的是對應的zoo.cfg檔案,所以新建3個cfg檔案類似對應3個zookeeper。

shell啟動的時候指定這3個cfg檔案即可

dubboadmin.war檔案,放在tomcat裡執行

目前發現的問題有

dubboadmin上註冊的應用,如果應用關閉,dubboadmin不是立即消除此應用,需要等待一段時間,不算bug。

需要注意的問題有:

1,因為tomcat,zookeeper和應用的啟動都會產生日誌檔案,需要定時清除。

Kafka基於Zookeeper搭建高可用集群實戰

1 前言 1.1 高可用的由來 為何需要replication?在kafka在0.8以前的版本中,是沒有replication的,一旦某乙個broker宕機,則其上所有的 partition資料都不可被消費,這與kafka資料永續性及delivery guarantee的設計目標相悖。同時 prod...

騰訊雲 kodexplorer可道雲搭建私有雲盤

kodexplorer可道雲介紹搭建環境 伺服器配置 1核 1g 1m頻寬 系統盤 linux 20g 作業系統 centos 6.9 x86 64 web伺服器 apache 2.4.6 php php 5.6.3 安裝前準備 apache php 安裝目錄 1 apache和php環境搭建 1....

linux 可道雲 如何搭建私有雲

基於此,找了幾個私有雲程式。最後選擇了可道雲。完美解決雲共享。分享一下自己採坑經驗 1.nextcloud 支援 windows,mac,linux,ios,android 平台,是owncloud的衍生版本,很不錯的產品 2.cloudreve 3.seafile 支援 windows,mac,l...