每次項目代碼更新後都要從新部署,若是隻有一臺服務器還好.node
可是若是是分佈式系統,動不動就不少臺服務器,因此代碼的自動部署就顯得十分重要了.git
這裏用幾篇文章來記錄一下如何使用Jenkins,Docker,github來搭建一個自動化部署的node項目.github
本人使用的阿里雲的服務器,操做系統Centos7 docker
yum install docker
安裝dockerjson
docker 安裝完成後須要啓動docker服務centos
service docker start
docker啓動完成後,下一步就須要啓動docker容器服務器
ps -ef|grep docker
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
該命令的含義大體以下:
-d
後臺運行docker容器--name
爲容器起個別名-p
docker容器端口映射-v
文件掛載
若是出現
這樣的報錯信息,而且容器已經成功建立的狀況下,說明多是centos系統版本兼容性問題
使用下方代碼後再運行便可解決:
yum update
那麼怎麼判斷是否成功呢?
使用如下代碼能夠查看docker已經建立的容器:
docker ps -a
如上圖所示,咱們jenkins已經建立並運行了 3 分鐘了
而後咱們再去看看以前建立用於掛載文件的文件夾
發現其中已經存在了許多 Jenkins 的文件,那麼咱們就能夠開始使用Jenkins了
訪問: 你的服務器IP加上映射的端口就好了
首先咱們須要找到 Jenkins 的初始化密碼
因此若是以前咱們沒有將Jenkins的目錄掛載到容器外,那麼咱們還須要進入容器進行查找
如今咱們就只須要到你的服務器上剛纔映射的目錄去找就好了
而後將其中的內容輸入輸入框
接下來你會看到下面的頁面
這裏是讓你選擇安裝的插件,若是是沒有特殊需求,直接選擇左邊的安裝建議的插件便可
以下圖所示
這裏插件沒有安裝成功的不用太在乎,若是有強迫症的話能夠從新安裝插件便可
若是失敗不少次,那麼就須要將Jenkins的插件鏡像站換成國內的鏡像站
先點擊 Continue
而後建立帳號
完成後咱們就先把剛纔插件的問題解決一下
在系統設置的插件管理中
點擊進入後選擇高級選項
將升級站點的url替換爲
http://mirror.esuni.jp/jenkins/updates/update-center.json
保存後從新安裝便可