運維部署 - 發(fā)布系統(tǒng)

發(fā)布系統(tǒng)在技術團隊中有著重要作用, 承擔我們每天的服務部署工作, 企業(yè)發(fā)布系統(tǒng)根據(jù)企業(yè)技術能力來決定, 小公司不像那些公司一樣,有充足的人力去開發(fā)一套自己的發(fā)布系統(tǒng). 所以盡可能的去尋找一些適合企業(yè)應用的部署系統(tǒng), 以提高人力成本.

這里推薦兩款開源的發(fā)布系統(tǒng):

jekins可能大家都很熟悉,也有好多文章, walle是國人寫的一個輕量的發(fā)布系統(tǒng), 只所以推薦它 是因為相對其它開源的發(fā)布系統(tǒng)來說, 其UI界面至少看著比較舒服, 基本功能也都有. 支持國產(chǎn)開源.

Walle安裝部署

Walle是基于PHP寫的, 所以安裝前需要安裝PHP環(huán)境.

PHP環(huán)境安裝

這里選用php最新穩(wěn)定版7.1.10

[root@localhost ~]# wget http://cn2.php.net/distributions/php-7.1.10.tar.gz
[root@localhost ~]# tar -zxvf php-7.1.10.tar.gz 
[root@localhost ~]# cd php-7.1.10/
[root@localhost php-7.1.10]# ./configure --help
[root@localhost php-7.1.10]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
[root@localhost php-7.1.10]# ./configure --prefix=/usr/local/php \
 --with-curl \
 --with-freetype-dir \
 --with-gd \
 --with-gettext \
 --with-iconv-dir \
 --with-kerberos \
 --with-libdir=lib64 \
 --with-libxml-dir \
 --with-mysqli \
 --with-openssl \
 --with-pcre-regex \
 --with-pdo-mysql \
 --with-pdo-sqlite \
 --with-pear \
 --with-png-dir \
 --with-xmlrpc \
 --with-zlib \
 --enable-fpm \
 --enable-bcmath \
 --enable-libxml \
 --enable-inline-optimization \
 --enable-gd-native-ttf \
 --enable-mbregex \
 --enable-mbstring \
 --enable-pcntl \
 --enable-shmop \
 --enable-soap \
 --enable-sockets \
 --enable-sysvsem \
 --enable-xml \
 --enable-zip
 [root@localhost php-7.1.10]# make & make install
 [root@localhost php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
[root@localhost php-7.1.10]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@localhost php-7.1.10]#  cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@localhost php-7.1.10]# cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
[root@localhost php-7.1.10]# /etc/init.d/php-fpm 

修改php進程歸屬用戶(/usr/local/php/etc/php-fpm.d/www.conf), 修改user和group值.
筆者示例中值均為 elonsu.

[elonsu@localhost ~]$ grep -C 3 'elonsu' /usr/local/php/etc/php-fpm.d/www.conf -n
20-; Unix user/group of processes
21-; Note: The user is mandatory. If the group is not set, the default user's group
22-;       will be used.
23:user = elonsu
24:group = elonsu
25-
26-; The address on which to accept FastCGI requests.
27-; Valid syntaxes are:

配置php環(huán)境變量

/etc/profile文件末尾追加環(huán)境變量,如下:

# 這是PHP環(huán)境變量
PHP_HOME=/usr/local/php
# 設置Meven環(huán)境變量
M2_HOME=/usr/local/apache-maven-3.5.0
# 設置Java環(huán)境變量
JAVA_HOME=/usr/local/jdk1.8.0_121
JRE_HOME=/usr/local/jdk1.8.0_121/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$M2_HOME/bin:$PHP_HOME/bin:

export PHP_HOME M2_HOME JAVA_HOME JRE_HOME CLASS_PATH PATH

使配置生效

[root@localhost ~]$ source /etc/profile
[elonsu@localhost ~]$ php -v
PHP 7.1.10 (cli) (built: Oct 22 2017 14:23:52) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

下載Walle

Github: https://github.com/meolu/walle-web

elonsu@localhost cloud]$ pwd
/export/cloud
elonsu@localhost cloud]$ git clone git@github.com:meolu/walle-web.git
elonsu@localhost cloud]$ cd walle-web
elonsu@localhost cloud]$ vi config/local.php 

設置數(shù)據(jù)庫鏈接和用戶注冊郵件通知服務配置

安裝Walle

[elonsu@localhost walle-web]$ curl -sS https://getcomposer.org/installer | php
[elonsu@localhost walle-web]$ php composer.phar require guzzlehttp/promises
[elonsu@localhost walle-web]$ php composer.phar require guzzlehttp/guzzle
[elonsu@localhost walle-web]$ php composer.phar install --prefer-dist --no-dev --optimize-autoloader -vvvv
[elonsu@localhost walle-web]$ ./yii walle/setup

Nginx反向代理

[elonsu@localhost walle-web]$ cat /usr/local/nginx/conf/domains/walle.wuyu.com 
server {
    listen       80;
    server_name  walle.wuyu.com;
    root /export/cloud/walle-web/web;
    index index.php;

    # 建議放內(nèi)網(wǎng)
    # allow 192.168.0.0/24;
    # deny all;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

訪問登錄

訪問: http://walle.wuyu.com/
首次登錄默認管理員用戶admin/admin.

配置項目

發(fā)布系統(tǒng)部署完后登錄后效果圖如下(林韻熙賬戶為筆者自己創(chuàng)建):

image

添加項目配置

【項目配置】- 【新建項目】:

image

上圖為個人技術博客發(fā)布項配置.

檢測項目配置

【項目配置】-【配置列表】-【檢測】, 檢測配置項是否配置成功.

image

創(chuàng)建上線任務

【我的上線單】-【創(chuàng)建上線單】-【選擇上線的模板】, 填寫如下項:

  • 上線單標題
  • 選取分之
  • 版本選取
  • 全量/增量

填寫完之后會在【我的上線單】, 中出現(xiàn)剛才添加的上線單項目. 如下圖:

[圖片上傳失敗...(image-2b5ebe-1576723298986)]

執(zhí)行上線操作

【我的上線單】-【選擇上線單項】-【上線】-【部署】:

[圖片上傳失敗...(image-313508-1576723298986)]

遠程GIT倉庫授權配置

遠程私有倉庫ssh 授權

[elonsu@localhost ~]#  ssh-keygen -t rsa -C "xxx@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/elonsu/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /elonsu/.ssh/id_rsa.
Your public key has been saved in /elonsu/.ssh/id_rsa.pub.
The key fingerprint is:
8b:8a:a0:b3:a5:a1:5f:96:8a:3c:5a:c1:e0:b3:f4:f3 xxx@163.com
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|.                |
|.o               |
| +o     S        |
|. +. . . .       |
|o.oo+ . .        |
|=O =o.           |
|O== .E           |
+-----------------+
[elonsu@localhost ~]# ls 
[elonsu@localhost ~]$ ls ~/.ssh/
id_rsa  id_rsa.pub

這里的id_rsa為私鑰, id_rsa_pub為公鑰

Git服務器配置SSH公鑰

以開源中國為例, 【個人】-【設置】-【SSH公鑰】

[圖片上傳失敗...(image-fdec97-1576723298986)]

開源中國官方配置說明:http://git.mydoc.io/?t=154712

檢測配置

[elonsu@localhost ~]$ ssh -T git@gitee.com

...

Welcome to Gitee.com, -林韻熙-!

部署目標機器授權

我們以root用戶身份, 將項目發(fā)布到192.178.0.107服務上時,需要給目標機器授權.如下:

[root@localhost ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.107

此時會提示讓輸入目標服務器密碼. 正確輸入密碼后,配置成功.

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辞色,一起剝皮案震驚了整個濱河市饭耳,隨后出現(xiàn)的幾起案子吉捶,更是在濱河造成了極大的恐慌沈矿,老刑警劉巖零院,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機峭火,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來智嚷,“玉大人卖丸,你說我怎么就攤上這事≌档溃” “怎么了稍浆?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長摇天。 經(jīng)常有香客問我粹湃,道長,這世上最難降的妖魔是什么泉坐? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮裳仆,結(jié)果婚禮上腕让,老公的妹妹穿的比我還像新娘。我一直安慰自己歧斟,他們只是感情好纯丸,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著静袖,像睡著了一般觉鼻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上队橙,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天坠陈,我揣著相機與錄音,去河邊找鬼捐康。 笑死仇矾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的解总。 我是一名探鬼主播贮匕,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼花枫!你這毒婦竟也來了刻盐?” 一聲冷哼從身側(cè)響起掏膏,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎敦锌,沒想到半個月后壤追,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡供屉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年行冰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伶丐。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡悼做,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哗魂,到底是詐尸還是另有隱情肛走,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布录别,位于F島的核電站朽色,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏组题。R本人自食惡果不足惜葫男,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望崔列。 院中可真熱鬧梢褐,春花似錦、人聲如沸赵讯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽边翼。三九已至鱼响,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間组底,已是汗流浹背丈积。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留斤寇,地道東北人桶癣。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像娘锁,于是被迫代替她去往敵國和親牙寞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355