溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

node.js自動化部署環(huán)境怎么搭建

發(fā)布時間:2022-11-30 09:21:12 來源:億速云 閱讀:100 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“node.js自動化部署環(huán)境怎么搭建”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

1、docker部分

1.1、docker簡介

docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口

1.2、docker架構(gòu)

簡單的說,docker就是一個輕量級的linux系統(tǒng)。docker 容器通過 docker 鏡像來創(chuàng)建。容器與鏡像的關(guān)系類似于面向?qū)ο缶幊讨械膶ο笈c類。docker架構(gòu)如圖所示:

node.js自動化部署環(huán)境怎么搭建

1.3、docker虛擬機管理命令

node.js自動化部署環(huán)境怎么搭建

1.4、安裝docker

更新軟件庫

yum update -y

安裝docker

yum install docker -y

1.5、啟動docker服務(wù)

啟動docker服務(wù)

service docker start

其它相關(guān)命令

 service docker restart // 重啟docker服務(wù)
 service docker stop  // 停止docker服務(wù)

2、node部分

可以通過koa框架隨便寫一個hello-world項目,然后在項目的根目錄下新建一個dockerfile文件

dockerfile 是一個文本文件,其內(nèi)包含了一條條的指令(instruction),每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建。

筆者自己的dockerfile文件配置信息如下,熟悉docker的人可以自行配置

# dockerfile
# 使用node做為鏡像
from node
# 在容器中創(chuàng)建該目錄
run mkdir -p /home/project
# 設(shè)置容器的工作目錄為該目錄
workdir /home/project 
# 向外提供3000端口
expose 3000
# 容器創(chuàng)建完成后執(zhí)行的命令
cmd npm install --registry=https://registry.npm.taobao.org && node ./start.js

將該項目發(fā)布到github上,為之后的jenkins部署做前提準備

3、jenkins部分

查詢jenkins鏡像

 docker search jenkins

node.js自動化部署環(huán)境怎么搭建

拉取最新的jenkins鏡像

docker pull jenkins:latest

啟動jenkins

sudo docker run -d -u 0 --privileged --name jenkins_node1 -p 49003:8080 -v /root/jenkins_node1:/var/jenkins_home jenkins:latest

命令解析:

  • -u 0

指的是傳入root賬號id,覆蓋容器中內(nèi)置的賬號

  • -v /root/jenkins_node1:/var/jenkins_home

指的是 將docker容器內(nèi)的目錄/var/jenkins_home映射到宿主機 /root/jenkins_node1目錄上

  • --name jenkins_node1

將容器命名為 jenkins_node1

  • -p 49003:8080

端口映射,將容器的8080端口映射到宿主機的49003端口

  • --privileged

賦予最高權(quán)限

整條命令的意思

運行一個鏡像為jenkins:latest的容器,命名為jenkins_node1,使用root賬號覆蓋容器中的賬號,賦予最高權(quán)限,將容器的 /var/jenkins_home映射到宿主機的 /root/jenkins_node1目錄下,映射容器中8080端口到宿主機49003端口

查看jenkins

執(zhí)行完成后,等待幾十秒,等待jenkins容器啟動初始化。

可以查看宿主機 /root/jenkins_node1下是否多了很多文件

到瀏覽器中輸入 localhost:49003 查看jenkins是否啟動成功

看到如下界面說明啟動成功:

node.js自動化部署環(huán)境怎么搭建

獲取密碼

cat /root/jenkins_node1/secrets/initialadminpassword

復(fù)制輸出的密碼,粘貼到頁面中,點擊continue會進入到下面這個頁面

node.js自動化部署環(huán)境怎么搭建

點擊安裝

node.js自動化部署環(huán)境怎么搭建

等待安裝完成,進入到創(chuàng)建管理員賬號界面

node.js自動化部署環(huán)境怎么搭建

輸入賬號密碼信息后點擊保存(信息要填完),來到首頁

node.js自動化部署環(huán)境怎么搭建

配置jenkins,進入系統(tǒng)管理頁面,管理插件

node.js自動化部署環(huán)境怎么搭建

選擇 ssh插件,

node.js自動化部署環(huán)境怎么搭建

直接安裝,等待安裝完成,回到首頁,

來到 系統(tǒng)管理 -> 系統(tǒng)配置

node.js自動化部署環(huán)境怎么搭建

拖到最下publish over ssh這

node.js自動化部署環(huán)境怎么搭建

選擇高級,輸入服務(wù)器ip,用戶名,密碼,然后點擊 test configuration

顯示 success 則說明配置沒問題。然后保存,回到首頁

新建一個項目

node.js自動化部署環(huán)境怎么搭建

輸入項目名稱

node.js自動化部署環(huán)境怎么搭建

選擇源碼管理,使用git管理,輸入github倉庫地址,添加github用戶

node.js自動化部署環(huán)境怎么搭建

node.js自動化部署環(huán)境怎么搭建

node.js自動化部署環(huán)境怎么搭建

完成來到選擇構(gòu)建環(huán)境,

node.js自動化部署環(huán)境怎么搭建

執(zhí)行的命令

sudo docker stop nodeapp || true \
 && sudo docker rm nodeapp || true \
 && cd /root/jenkins_node1/workspace/node \
 && sudo docker build --rm --no-cache=true -t node - < dockerfile \
 && sudo docker run -d --privileged=true --name nodeapp -p 3000:3000 -v /root/jenkins_node1/workspace/node:/home/project node

保存后,點擊立即構(gòu)建

構(gòu)建成功后,可以在宿主機的目錄/root/jenkins_node1/workspace/node下看到你的項目文件了

在瀏覽器輸入 docker服務(wù)器地址 localhost:3000 即可訪問到頁面信息

啟動失敗的,可以查看日志來確定一下失敗的原因

docker logs nodeapp

4、jenkins + github自動部署

如果想本地代碼提交push到github后,jenkins自動拉取最新代碼重新部署,請繼續(xù)看

服務(wù)器要外網(wǎng)能訪問,本地環(huán)境想測試的可以嘗試內(nèi)網(wǎng)穿透 或者

在首頁點擊用戶

首頁 -> 用戶 -> root

node.js自動化部署環(huán)境怎么搭建

點擊設(shè)置 -> show api token

node.js自動化部署環(huán)境怎么搭建

復(fù)制api token 里面的值

返回到首頁 -> node -> 配置 -> 構(gòu)建觸發(fā)器 粘貼到身份驗證令牌 中

node.js自動化部署環(huán)境怎么搭建

登陸到你的github項目頁面 打開 setting -> webhooks -> add webhooks

node.js自動化部署環(huán)境怎么搭建

添加 webhooks

node.js自動化部署環(huán)境怎么搭建

修改jenkins的安全策略

jenkins首頁,選擇 系統(tǒng)管理-->configure global security(系統(tǒng)設(shè)置下面那個) 進行如下設(shè)置

node.js自動化部署環(huán)境怎么搭建

“node.js自動化部署環(huán)境怎么搭建”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI