搞點(diǎn)兒運(yùn)維778

單純地記錄一下烛缔,后面會(huì)持續(xù)補(bǔ)充和總結(jié)

基本環(huán)境

阿里云

CentOS版本: CentOS Linux release 7.2.1511 (Core)

cat /etc/centos-release 

linux安裝git

yum -y install git

linux安裝node

  1. 遠(yuǎn)程安裝 node-v10.13.0
wget -c https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0-linux-x64.tar.xz
  1. 解壓node安裝包
tar -xvf node-v10.13.0-linux-x64.tar.xz
  1. 將解壓后的文件重命名為nodejs, 然后放到/usr/sbin文件夾下

/usr/bin 系統(tǒng)預(yù)設(shè)的可執(zhí)行文件闻丑,如開(kāi)關(guān)機(jī)在這里击碗,優(yōu)先級(jí)最高

/usr/local/bin 用戶本身相關(guān)的可執(zhí)行文件,如自己安裝的軟件推薦放在這里育苟,會(huì)提升到全局

/usr/sbin 基本同上

①重命名為 nodejs

cd ~
mv node-v10.13.0-linux-x64 nodejs  

②移動(dòng)到/usr/sbin文件夾下

mv nodejs/ /usr/sbin/
  1. 配置軟件鏈

為了使nodejs能夠全局使用,我們需要配置一下軟鏈接鹃祖。全局任何地方都可以直接調(diào)用nodenpm指令了

ln -s /usr/sbin/nodejs/bin/node /usr/local/bin/
ln -s /usr/sbin/nodejs/bin/npm /usr/local/bin/
  1. 檢查安裝結(jié)果

執(zhí)行完以上兩步普舆,可以測(cè)試一下,如果都能輸出對(duì)應(yīng)的版本號(hào)沼侣。說(shuō)明配置成功。

node -v
npm -v

linux下安裝nginx

使用的方式是通過(guò)yum來(lái)安裝nginx蛾洛,當(dāng)然還有其他的方式养铸。比如下載好安裝包,然后再解壓等等轧膘。

  1. 配置yum倉(cāng)庫(kù)

① 創(chuàng)建一個(gè)名為/etc/yum.repos.d/nginx.repo

vi /etc/yum.repos.d/nginx.repo

/etc/yum.repos.d/nginx.repo 添加以下內(nèi)容

以下是一個(gè)模板:OS 和 OSRELEASE 需要看當(dāng)前系統(tǒng)具體情況而替換

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

注意:“OS”處用你的系統(tǒng)名字代替钞螟,例如:centos或rhel;OSRELEASE用“5”或“6”或“7”代替谎碍,取決于你的系統(tǒng)版本號(hào).

我的版本是centos7鳞滨,所以我的配置如下

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

③ yum 進(jìn)行安裝

yum -y install nginx
  1. nginx常用指令
I want it I get it
關(guān)閉nginx nginx -s stop
重啟nginx nginx -s reload
檢查nginx nginx -t
開(kāi)啟nginx nginx
  1. nginx 相關(guān)文件一般的位置
Where Here
項(xiàng)目文件 /usr/share/nginx/html
nginx配置文件 /etc/nginx/nginx.conf
自定義配置文件 /etc/nginx/conf.d
日志文件 /var/log/nginx

linux 安裝 JDK

  1. 卸載系統(tǒng)自帶的jdk
//查找系統(tǒng)jdk 
[root@luban_test ~]#  rpm -qa|grep java 
java-1.6.0-openjdk-1.6.0.37-1.13.9.4.el5_11
tzdata-java-2015g-1.el5
//如果查找到了 先全部卸載了在重新安裝

//卸載
[root@luban_test ~]# rpm -e --allmatches --nodeps python-javapackages-3.4.1-11.el7.noarch
[root@luban_test ~]# rpm -e --allmatches --nodeps tzdata-java-2019a-1.el7.noarch
[root@luban_test ~]# rpm -e --allmatches --nodeps java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
[root@luban_test ~]# rpm -e --allmatches --nodeps java-1.8.0-openjdk-headless-1.8.0.212.b04-0.el7_6.x86_64

//檢查是否卸載干凈
[root@luban_test ~]#  rpm -qa|grep java
  1. 查找yum下可更新的Java列表
yum -y list java*
//或者
yum search jdk
  1. 安裝java
yum install -y java-1.8.0-openjdk.x86_64
//驗(yàn)證完成安裝
java -version
  1. 配置環(huán)境變量
[root@luban_test ~]# vi /etc/profile

在profile文件末尾加入:

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使配置文件生效

source /etc/profile 
source ~/.bash_profile
//或重啟機(jī)器配置生效
reboot

linux 安裝 jenkins

  1. 官網(wǎng)下載地址
  sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
  sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
  
  yum install -y jenkins
  1. 安裝完成在瀏覽器輸入 ip + 8080

ip 為服務(wù)器公網(wǎng)ip,我在這邊遇到了一個(gè)坑蟆淀。排查了挺久拯啦。因?yàn)橛霉镜陌⒗镌瀑~號(hào)開(kāi)了一個(gè)測(cè)試服務(wù)器。然后這臺(tái)服務(wù)器被加入到了自定義的安全組里熔任。然后除了配置的白名單外褒链,其他ip都無(wú)法ping到測(cè)試服務(wù)器的ip。很顯然我用家里的網(wǎng)絡(luò)打開(kāi)ip:8080 疑苔,是打不開(kāi)的甫匹。

  • 排查是否啟動(dòng)了jenkins服務(wù) systemctl status jenkins

  • 排查了java的安裝情況

  • 排查了端口是否被占用

  • 排查了防火墻 systemctl status firewalld

    • 當(dāng)然防火墻還是要關(guān)閉一下,不然訪問(wèn)不了服務(wù)。
      • systemctl stop firewalld
      • systemctl disable firewalld
  • 甚至重新安裝jenkins兵迅,我的天

后來(lái)無(wú)奈上了阿里云控制臺(tái)看了一下其他服務(wù)器的ip 哀墓。我一頓ping才發(fā)現(xiàn),都ping不通喷兼。但是服務(wù)都還在線上運(yùn)行著篮绰。 再后來(lái)找到網(wǎng)絡(luò)和安全組 然后把自己家的ip加入到名單中。于是就可以愉快繼續(xù)玩耍了季惯。吠各。。小插曲勉抓,問(wèn)題不大贾漏。。藕筋。

  1. 第一次打開(kāi)http://168.56.3.*:8080 會(huì)要求你解鎖jenkins

    有一個(gè)初始密碼在服務(wù)器 /var/lib/jenkins/secrets/initialAdminPassword頁(yè)面也會(huì)提示你

    cat /var/lib/jenkins/secrets/initialAdminPassword
    

    填入后 -> 繼續(xù)

  2. 自定義 jenkins

    • 選擇安裝推薦的插件
    • 一頓咔咔下載纵散,等著吧。需要很長(zhǎng)的時(shí)間隐圾。伍掀。。
  3. 安裝完成可以創(chuàng)建一個(gè)用戶

    admin -> 123456

  4. 安裝jenkins插件

  • 修改插件的鏡像暇藏,類(lèi)似于npm的淘寶鏡像蜜笤。

  • Generic Webhook Trigger web觸發(fā)器(這個(gè)還是有蠻多配置的把兔,后面好好玩一下)

  • Publish Over SSH 通過(guò)SSH部署服務(wù)器

    • 一般jenkins有一個(gè)工作區(qū)县好,我們這個(gè)區(qū)構(gòu)建項(xiàng)目缕贡,需要把這個(gè)構(gòu)建包部署到另外一臺(tái)服務(wù)器上儒恋。這是時(shí)候就需要用到這個(gè)插件诫尽。
    • 當(dāng)然牧嫉,你也可以把jenkins 和 項(xiàng)目部署放在同一臺(tái)服務(wù)器上
  • Nodejs 提供node環(huán)境

    • 前端項(xiàng)目的構(gòu)建需要npm這些指令酣藻,這個(gè)插件能為我們提供node執(zhí)行環(huán)境
  • Git Parameter 這是一個(gè)git多分支選擇辽剧。我也是后面在下載安裝的。

  1. 創(chuàng)建一個(gè)任務(wù)
  • 左側(cè)導(dǎo)航 新建任務(wù)

  • 輸入一個(gè)任務(wù)名稱 -> 與項(xiàng)目同名即可偷崩,不是必須的

  • 構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目

  • 配合相關(guān) (我寫(xiě)一下我最基本的一些配置)

    • General

      • 參數(shù)化構(gòu)建過(guò)程阐斜,主要是配合著插件Git Parameter來(lái)使用
      • Git 參數(shù):BRANCH
      • 參數(shù)類(lèi)型: 分支
      • 默認(rèn)值:origin/dev (主要是因?yàn)槲乙詣?dòng)構(gòu)建的是dev分支的代碼谒出,所以這邊先配置為dev)
    • 源碼管理

      • 選擇git
      • Repository URL笤喳,填寫(xiě)你項(xiàng)目的URL地址莉测。 git@...
      • Credentials:主要有兩種方式 jenkins 上配置Credentials 2種方式
        • Username + password方式
        • SSH認(rèn)證方式 (我選擇了這種)
      • 指定分支(為空時(shí)代表any): $BRANCH
    • 構(gòu)建觸發(fā)器

      • Generic Webhook Trigger 勾選上捣卤,表示git倉(cāng)庫(kù)可以調(diào)用這個(gè)觸發(fā)器啦
      • 當(dāng)然要觸發(fā)需要做一些配置董朝,我這邊用的是gitlab干跛。
        • jenkins 用戶頭像 --> 設(shè)置 --> API Token --> 生成一個(gè)api token并且復(fù)制下來(lái)
        • 登錄gitliba賬號(hào) --> 找到對(duì)應(yīng)項(xiàng)目 ---> Settings --> Integrations
        • URL: http://admin:token@123.56.3.147:8080/generic-webhook-trigger/invoke?token=token token 就是jenkins生成的api token
        • 配置好后楼入,下面有一個(gè)Test按鈕可以測(cè)試一下配置是否成功嘉熊。成功即可繼續(xù)
        • 到這里,理論上我們修改代碼并push到git上就會(huì)觸發(fā)jenkins 凫佛。但是問(wèn)題來(lái)了,我發(fā)現(xiàn)我在任何分支上做push動(dòng)作都會(huì)觸發(fā)jenkins
        • 我的需求是當(dāng)dev上有push動(dòng)作時(shí)晨炕,才執(zhí)行這個(gè)任務(wù)瓮栗。jenkins指定具體項(xiàng)目具體分支進(jìn)行構(gòu)建部署
        • Generic Webhook Trigger -> Post content parameters
          • Variable: ref
          • Expression: $.ref
          • JSONPath
          • 配合 Optional filter
    • Optional filter

      • Expression: ^(refs/heads/dev)$
      • Text: $ref
    • 構(gòu)建環(huán)境

      • Provide Node & npm bin/ folder to PATH: 需要下載Nodejs插件
        • NodeJS Installation:node
    • 構(gòu)建

      • 執(zhí)行shell

      • shell 命令(寫(xiě)一些基本的構(gòu)建命令)

      • rm -rf dist
        rm -rf dist.tar.gz
        npm run build
        tar -zcvf dist.tar.gz dist
        
    • 構(gòu)建后操作

使用jenkins自動(dòng)化打包部署Vue項(xiàng)目

Jenkins學(xué)習(xí)文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市四濒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌戈二,老刑警劉巖觉吭,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲜滩,死亡現(xiàn)場(chǎng)離奇詭異节值,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)嗓蘑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)桩皿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)泄隔,“玉大人阳懂,你說(shuō)我怎么就攤上這事柜思。” “怎么了号枕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵葱淳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我艳狐,道長(zhǎng)毫目,這世上最難降的妖魔是什么镀虐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任沟绪,我火速辦了婚禮绽慈,結(jié)果婚禮上坝疼,老公的妹妹穿的比我還像新娘。我一直安慰自己裙士,他們只是感情好腿椎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布铆隘。 她就那樣靜靜地躺著南用,像睡著了一般掏湾。 火紅的嫁衣襯著肌膚如雪融击。 梳的紋絲不亂的頭發(fā)上雳窟,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天拇涤,我揣著相機(jī)與錄音誉结,去河邊找鬼。 笑死惩坑,一個(gè)胖子當(dāng)著我的面吹牛旭贬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稀轨,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼瓦侮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肚吏!你這毒婦竟也來(lái)了狭魂?” 一聲冷哼從身側(cè)響起雌澄,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤镐牺,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后募胃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年电谣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抹蚀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片环壤。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖荧降,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辛友,我是刑警寧澤剪返,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布邑滨,位于F島的核電站钱反,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏面哥。R本人自食惡果不足惜幢竹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一焕毫、第九天 我趴在偏房一處隱蔽的房頂上張望驶乾。 院中可真熱鬧,春花似錦循签、人聲如沸级乐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)风科。三九已至,卻和暖如春乞旦,著一層夾襖步出監(jiān)牢的瞬間贼穆,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工兰粉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留故痊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓玖姑,卻偏偏與公主長(zhǎng)得像愕秫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焰络,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353