1. 程式人生 > >使用jenkins自動化部署docke映象node專案(jenkins、docker、node、碼雲、git)

使用jenkins自動化部署docke映象node專案(jenkins、docker、node、碼雲、git)

簡介
最近使用docker部署專案,當代碼有更新後,我的操作流程大致是:
1.提交程式碼 ——>2.copy程式碼到伺服器—–>3.停止、刪除docker專案容器—–>
4.刪除docker專案映象—->5.啟動專案映象、啟動容器
這一系列花費我幾分鐘,一不小心還會出錯。經過百度,找到一個自動化部署工具jenkins,最後只需要一次點選就要完成所有操作。

本文涉及內容:

  1. jenkins安裝
  2. jenkins中伺服器ssh 配置
  3. 在jenkins中node專案的配置
  4. Exec 命令和Dockerfile的編寫

一、jenkins安裝

//建立jenkins工作目錄
mkdir -p /var/www/jenkins/ docker pull jenkins //設定目前許可權(必須) chown -R 1000:1000 /var/www/jenkins docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /var/www/jenkins:/var/jenkins_home jenkins //密碼使用命名檢視 docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

二、jenkins中伺服器ssh 配置
當我們要向其他伺服器部署專案,可以使用publish over ssh 外掛來設定訪問部署
步驟:
系統管理 —–>管理外掛 —–>可選外掛 —–>搜尋publish over ssh —–>直接安裝
配置:
這裡寫圖片描述

三、在jenkins中node專案的配置
環境:
專案在碼雲或者github上、使用docker部署node專案。如果專案使用碼雲需要安裝外掛(Generic Webhook Trigge)

步驟:
新建 —–>構建一個自由風格的軟體專案
1.General中下專案名稱
2.原始碼管理填寫專案地址,點選add新增Username和Password(是你git或者碼雲賬號密碼)
這裡寫圖片描述
3.構建觸發器 不填
4.構建環境 勾選Send files or execute commands over SSH after the build runs
命名就是你在伺服器上輸入的命名

 docker kill gd_node
 docker rm gd_node
 docker image rm gd_node
 docker build /var/www/jenkins/workspace/gd_node  -t gd_node
 docker run -itd --name gd_node -p 8021:8021 gd_node

上面是

  1. 關閉容器gd_node
  2. 刪除容器gd_node
  3. 刪除映象gd_node
  4. 構建專案gd_node專案目錄是/var/www/jenkins/workspace/gd_node
  5. 啟動容器到8021埠
    上面build 是通過Dockerfile啟動程式碼為
FROM node:9-alpine
COPY . /app
WORKDIR /app
RUN npm install --registry=https://registry.npm.taobao.org
EXPOSE 8021
CMD ["npm", "start"]

這裡寫圖片描述

最後儲存,回到首頁立即構建,這個時候可以檢視輸出日誌
這裡寫圖片描述

四、結語
至此!全部配置已經完成,如有疑問歡迎留言或者加群315552185!共同學習,其他發生坑爹的事情是我使用阿里雲安裝jenkins報錯,專案啟動幾秒就掛了,之後我換成騰訊雲,完美一步到位。