node項目自動化部署--基於Jenkins,Docker,Github(1)安裝Jenkins

前言

每次項目代碼更新後都要從新部署,若是隻有一臺服務器還好.node

可是若是是分佈式系統,動不動就不少臺服務器,因此代碼的自動部署就顯得十分重要了.git

這裏用幾篇文章來記錄一下如何使用Jenkins,Docker,github來搭建一個自動化部署的node項目.github

 

 

思路

  1. 使用git進行版本控制,當項目更新時就觸發 Jenkins的構建任務
  2. Jenkins 從 git 拉取最新的代碼
  3. 爲了不多個節點的運行環境差別,因此須要使用 Docker 來將咱們的 node 項目打包爲鏡像
  4. 將鏡像經過腳本部署到全部的子節點上

 

安裝Docker

本人使用的阿里雲的服務器,操做系統Centos7 docker

yum install docker

安裝dockerjson

docker 安裝完成後須要啓動docker服務centos

service docker start

 

docker啓動完成後,下一步就須要啓動docker容器服務器

ps -ef|grep docker

 

 

 Docker上安裝Jenkins

docker 安裝好後下一步就是安裝 Jenkins 鏡像分佈式

在安裝前須要建立一個目錄用於映射 Jenkins 的鏡像中的文件,以便安裝好 Jenkins 後查看初始密碼等操做阿里雲

 

建立目錄url

mkdir /var/jenkins_home

 

而後修改該目錄的權限,否則極可能在 Jenkins 鏡像映射文件時沒有操做權限,致使鏡像啓動秒退

chown -R 1000:1000 /var/jenkins_home

 

而後咱們就能夠拉取 Jenkins 鏡像了

docker pull jenkins/jenkins:lts

 

而後咱們能夠經過如下命令來查看已經存在的鏡像

docker images

 

接下來就是啓動 Jenkins 容器了

命令以下:

docker run -d --name myjenkins -p 9000:8080 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

該命令的含義大體以下:

  • 在後臺運行一個基於jenkins:latest鏡像的容器, 容器的名字叫作 jenkins_node ,把容器的8080端口映射爲服務器的 9000 端口(由於Jenkins的默認端口爲8080),而且把服務器上的/var/jenkins_home目錄掛在到docker容器上的/var/jenkins_home目錄
  • -d 後臺運行docker容器
  • --name 爲容器起個別名
  • -p docker容器端口映射
  • -v 文件掛載

 

若是出現

這樣的報錯信息,而且容器已經成功建立的狀況下,說明多是centos系統版本兼容性問題

使用下方代碼後再運行便可解決:

yum update

 

那麼怎麼判斷是否成功呢?

使用如下代碼能夠查看docker已經建立的容器:

docker ps -a

如上圖所示,咱們jenkins已經建立並運行了 3 分鐘了

 

而後咱們再去看看以前建立用於掛載文件的文件夾

發現其中已經存在了許多 Jenkins 的文件,那麼咱們就能夠開始使用Jenkins了

 

訪問: 你的服務器IP加上映射的端口就好了

 

Jenkins配置

首先咱們須要找到 Jenkins 的初始化密碼

因此若是以前咱們沒有將Jenkins的目錄掛載到容器外,那麼咱們還須要進入容器進行查找

 

如今咱們就只須要到你的服務器上剛纔映射的目錄去找就好了

而後將其中的內容輸入輸入框

接下來你會看到下面的頁面

這裏是讓你選擇安裝的插件,若是是沒有特殊需求,直接選擇左邊的安裝建議的插件便可

以下圖所示

這裏插件沒有安裝成功的不用太在乎,若是有強迫症的話能夠從新安裝插件便可

若是失敗不少次,那麼就須要將Jenkins的插件鏡像站換成國內的鏡像站

先點擊 Continue 

而後建立帳號

 

 

 完成後咱們就先把剛纔插件的問題解決一下

在系統設置的插件管理中

 

 點擊進入後選擇高級選項

將升級站點的url替換爲

http://mirror.esuni.jp/jenkins/updates/update-center.json

保存後從新安裝便可

相關文章
相關標籤/搜索