阿里云Centos+Jenkins+Vue自動部署

一:按照官方文檔下載對應軟件和環境

下載
  1. 先要注意是否有對應的java環境
    java -version
[root@ java-1.8.0]# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

沒有java環境的需要先安裝Java環境
sudo yum install java

  1. 首先要先添加Jenkins源:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  1. 添加完成之后直接使用yum命令安裝Jenkins:
    yum install jenkins

二 啟動Jenkins

  1. 使用命令啟動Jenkins:
    sudo service jenkins start (啟動)
    sudo service jenkins stop (暫停)
[root@ ~]# service jenkins start
Starting jenkins (via systemctl):                          [  OK  ]
  1. 默認為8080端口,如需修改端口可修改配置文件,然后將Jenkins暫停后啟動
    vim /etc/sysconfig/jenkins
    image.png
  2. 開防火墻端口
    如果沒有對端口進行開發,服務器是拒絕外部訪問的,
    systemctl status firewalld :查看防火墻的狀態
  • running 狀態即防火墻已經開啟
  • dead 狀態即防火墻未開啟
    systemctl start firewalld : 開啟防火墻(建議開啟)
    systemctl stop firewalld : 停止防火墻
    firewall-cmd --query-port=8000/tcp :查看端口是否開放(8000代表端口)
  • yes表示已開通
  • no表示未開通
    firewall-cmd --add-port=8000/tcp --permanent : 開放端口(8000代表端口)
  • success表示成功
    firewall-cmd --reload : 重載配置
    要使配置生效一定要重新載入配置
  1. 在這里很多人會去網站上訪問 你服務器ip:端口結果發現無法訪問
    image.png

    其實是我們沒有把端口加到阿里云的安全組里,是不是忘了,哈哈哈哈哈,
    image.png
  2. 訪問Jenkins管理平臺,嗒噠!


    image.png

三 配置Jenkins

1.找密碼(我的方法獨一無二)

  • 使用命令:ps -ef | grep jenkins 獲取Jenkins運行的端口
    image.png
  • 看到上圖中黃色框框中的文件路徑,cat 它,往下滾滾找到黃色框框中的那串密碼(我打了少兒不宜的那個)
    cat /var/log/jenkins/jenkins.log
    image.png
  • 然后復制粘貼到網頁中,點擊驗證進入如下頁面


    image.png
  1. 安裝插件(可以點擊推薦的安裝,或者自行選擇安裝,如果清楚自己要什么的可以自行選擇安裝,我就鼠標點錯了點到推薦安裝了┭┮﹏┭┮)
    image.png

    安裝有點慢,間隙打個小廣告歡迎訪問我的垃圾博客
  2. 賬號創建


    賬號
  3. 安裝NodeJs插件



    Avaliable 搜索 NodeJS,勾選 NodeJS,點擊 Install without restart 安裝


    image.png
  4. 配置 NodeJS 插件
  • Jenkins -> Manage Jenkins -> Global Tool Configuation


    image.png
  • NodeJS 節點下,點擊 NodeJS installations


    image.png
  • 填寫 Name,勾選 Install automatically,選擇 Version,最后點擊 Save


    image.png
  1. 發布配置(最最最最 重要)
  • 創建一個項目Jenkins -> New Item


    image.png
  • General 配置,填寫 DescriptionSource Code Management,選擇 Git,填寫 Repository URL,如果是私有倉庫,還需要填寫 Credentials( 點擊 Add 添加)


    image.png
  • 番外篇--私有倉庫設置:
    1.1 生成SSH密鑰,輸入命令:
    ssh-keygen -t rsa -C “郵箱”
    公鑰內容在 ~/.ssh/id_rsa.pub
    私有內容在 ~/.ssh/id_rsa
    1.2 將密鑰加入到GitHub中
    image.png

    1.3 在Jenkins配置git ssh
    在Jenkins ->Credentials->System--> Add credentials
    新增登錄方式
    image.png

    選擇SSH登陸方式,將私鑰復制到key中
    image.png

    1.4 Jenkins Job中配置git
    取得私有git的倉庫配置果安裝了git插件,在源碼管理會出現Git選項,
    選中之后,主要配置 git服務器地址,這里要取git的地址.
    登錄方式和分支(默認是 */master)
    image.png

1.5 Build Environment,勾選 Provide Node & npm bin/ folder to PATH

image.png

1.6 Build,點擊 Add build step 下拉,選擇 Execute shell
重要、重要、重要啦 shell命令

node -v #檢測node版本(此條命令非必要)
npm -v #檢測npm版本(此條命令非必要)
npm config set registry https://registry.npm.taobao.org #把npm源設置為淘寶源(這個你懂的)
npm config get registry #檢測npm是否切換成功(此條命令非必要)
npm install #安裝項目中的依賴
npm run build #打包
cd dist
rm -rf blog_vue.tar.gz #刪除上次打包生成的壓縮文件(一般建議備份,不要直接刪除,這邊測試就無所謂啦)
tar -zcvf blog_vue.tar.gz * #把生成的項目打包成壓縮包,方便移動到項目部署目錄
cd dist
#  備份歷史版本
myPath="/home/vue_project_version/blog/"  #歷史版本存放路徑
tarName=$(date +%Y%m%d_%H%M%S)
# 這里的-d 參數判斷$myPath是否存在
if [ ! -d $myPath ]; then
    mkdir $myPath
fi
cp blog_vue.tar.gz /home/vue_project_version/blog/    #版本拷貝
mv /home/vue_project_version/blog/blog_vue.tar.gz /home/vue_project_version/blog/blog_vue$tarName.tar.gz  #版本改名
cd /home/vue_project/blog/ #進入web項目根目錄
mv /var/lib/jenkins/workspace/blog_vue/dist/blog_vue.tar.gz ./  #移動剛剛打包好的項目到web項目根目錄
tar -zxvf blog_vue.tar.gz -C ./  #解壓項目到dist目錄
rm -rf blog_vue.tar.gz    #刪除壓縮包

注1:Jenkins默認目錄centos: /var/lib/jenkins/workspace 在第一次構建的時候會創建這個文件夾,以后每次構建都會跳轉到這個目錄下你創建項目名字的目錄下 例:項目名字為blog_vue,跳轉的目錄為/var/lib/jenkins/workspace/blog_vue/,暫且可認為其實目錄
注2:知道有人想修改默認目錄,如下:
我就不啰嗦了,有前賢
注2.5:有人想修改項目的工作目錄,如下:

image.png

注3:建議shell命令 分開寫,一小段一小段,注中注:分開的每段的開始目錄為注2中所說的默認目錄,切記切記 如下:

image.png

四. 構建項目(簡單? 哈哈哈哈 坑來了)

  1. 回滾到項目路徑下 點擊Build Now,如圖中2就會開始構建


    主面板
  2. 查看構建情況(我弄幾個錯誤的看看)


    image.png

    修改對應問題得shell命令,就跟服務器操作一樣一樣的

  3. 正常的構建


    image.png

五.運行問題錦集:

1.文件權限問題:
mkdir: cannot create directory ‘/home/jenkins_workspace/blog_vue’: Permission denied
  • 解決方法:
修改用戶為root:

打開jenkins配置文件: vim /etc/sysconfig/jenkins
將原來的jenkins用戶修改為 root用戶: $JENKINS_USER="root"
修改Jenkins相關文件夾用戶權限:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

重啟Jenkins:systemctl restart jenkins
查看當前運行用戶:ps -ef | grep jenkins

為當前用戶添加權限

chown -R jenkins 文件路由

2.軟件權限問題:
+ uwsgi --reload /etc/uwsgi/blog/uwsgi.pid
/tmp/jenkins6897959297090627100.sh: line 8: uwsgi: command not found
  • 解決方法:
將服務器shell命令路徑配置到Jenkins環境中

獲取服務器的shell 命令路徑:echo $PATH

[root@ myblog]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin/:/root/bin

將路徑復制到下圖路徑里,再運行


image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,327評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,996評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,316評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,406評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,128評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,524評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,576評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,759評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,310評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,065評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,249評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,821評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,479評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,909評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,140評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,984評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,228評論 2 375

推薦閱讀更多精彩內容