最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法

 更新時間:2019年01月28日 11:43:10   作者:lentoo  
這篇文章主要介紹了從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本次案例基于CentOS 7系統(tǒng)

  • 適合有一定docker使用經(jīng)驗的人閱讀
  • 適合有一定linux命令使用經(jīng)驗的人閱讀

1、docker部分

1.1、docker簡介

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

1.2、docker架構(gòu)

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

1.3、docker虛擬機管理命令

1.4、安裝docker

更新軟件庫

yum update -y

安裝docker

yum install docker -y

1.5、啟動docker服務

啟動docker服務

service docker start

其它相關(guān)命令

 service docker restart // 重啟docker服務
 service docker stop  // 停止docker服務

2、node部分

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

Dockerfile 是一個文本文件,其內(nèi)包含了一條條的指令(Instruction),每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應當如何構(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 

拉取最新的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是否啟動成功

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

獲取密碼

cat /root/jenkins_node1/secrets/initialAdminPassword

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

點擊安裝

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

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

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

選擇 ssh插件,

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

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

拖到最下Publish over SSH這

選擇高級,輸入服務器IP,用戶名,密碼,然后點擊 Test Configuration

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

新建一個項目

輸入項目名稱

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

完成來到選擇構(gòu)建環(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服務器地址 localhost:3000 即可訪問到頁面信息

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

docker logs nodeapp

4、jenkins + github自動部署

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

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

在首頁點擊用戶

首頁 -> 用戶 -> root

點擊設(shè)置 -> show API Token

復制API Token 里面的值

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

登陸到你的github項目頁面 打開 Setting -> Webhooks -> Add webhooks

添加 webhooks

修改jenkins的安全策略

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

至此,已完成 git push 后,jenkins 自動構(gòu)建自動部署。

5、docker的常用命令

對docker比較感興趣的人可以了解一下,繼續(xù)學習

鏡像相關(guān)

查詢鏡像

docker search [name]

拉取鏡像

docker pull [name]

導入鏡像

docker load < /home/node.tar.gz

導出鏡像

docker save > /home/node.tar.gz

查詢所有鏡像

docker images

刪除鏡像

docker rmi [name]

修改鏡像名

docker tag docker.io/node node

容器相關(guān)

啟動

# 運行并進入交互模式
docker run -it --name myjava java bash 
# 在后臺運行
docker run -d --name myjava java

端口映射

docker run -it --name myjava -p 9000:8085 -p 9000:8086 java bash

目錄映射

docker run -it --name myjava -v /home/project:/soft --privileged docker.io/node bash

進入后臺運行的容器

docker exec -it name bash

自動重啟

docker run --restart=always -it --name myjava -p 9000:8085 -p 9000:8086 java bash

暫停容器

docker pause node

停止暫停容器

docker unpause node

停止容器

docker stop node

啟動容器

docker start -i node

查看容器

docker ps -a

docker網(wǎng)段相關(guān)

創(chuàng)建網(wǎng)段

docker network create net1

查看網(wǎng)段信息

docker network inspect net1

刪除網(wǎng)段信息

docker network rm net1

6、總結(jié)

筆者自己最近學習node,故想嘗試一下通過Docker+jenkins來實現(xiàn)這個自動化部署的流程,自己踩了一天坑,總算是配置成功了。之前是使用pm2來管理node項目,以及使用pm2來自動化部署node項目的,有興趣的可以去看一下。使用pm2自動化部署node項目.算是給自己做個總結(jié)筆記。寫的不好的地方,望指出。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker 部署prometheus+grafana的過程詳解

    docker 部署prometheus+grafana的過程詳解

    這篇文章主要介紹了docker 部署prometheus+grafana的過程,本文通過示例圖文相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • 使用Docker部署Tomcat的實現(xiàn)示例

    使用Docker部署Tomcat的實現(xiàn)示例

    在本地編寫好了Spring項目,為了實現(xiàn)能夠隨時地訪問,所以需要將項目部署到服務器,本文主要介紹了使用Docker部署Tomcat的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像)

    Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像)

    這篇文章主要介紹了Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 使用Docker安裝向量數(shù)據(jù)庫milvus并且安裝圖形化界面的方法

    使用Docker安裝向量數(shù)據(jù)庫milvus并且安裝圖形化界面的方法

    文章介紹了如何在Windows上使用Docker安裝并配置Milvus向量數(shù)據(jù)庫,包括啟用WSL2、安裝Ubuntu、配置Docker倉庫、安裝Milvus服務端和用戶圖形界面Attu,并提供了一個修改后的Dockerfile以提高Attu的安裝速度,感興趣的朋友一起看看吧
    2025-02-02
  • Docker入門教程之本地打包docker鏡像教程

    Docker入門教程之本地打包docker鏡像教程

    Docker鏡像是一個特殊的文件系統(tǒng),既提供了運行時所需的程序、庫和資源,還提供了相應的配置參數(shù),只是不包含動態(tài)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Docker入門教程之本地打包docker鏡像的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Docker部署Mysql集群的實現(xiàn)

    Docker部署Mysql集群的實現(xiàn)

    這篇文章主要介紹了Docker部署Mysql集群的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Docker v1.13 新功能介紹

    Docker v1.13 新功能介紹

    本篇文章主要介紹了Docker v1.13 新功能介紹,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker容器不識別宋體等字體的解決方案

    Docker容器不識別宋體等字體的解決方案

    這篇文章主要介紹了Docker容器不識別宋體等字體的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker運行項目的方法

    docker運行項目的方法

    在本篇文章里小編給大家分享的是關(guān)于docker運行項目的方法和實例,需要的朋友們學習參考下。
    2020-03-03
  • 教你使用Jenkins集成Harbor自動發(fā)布鏡像

    教你使用Jenkins集成Harbor自動發(fā)布鏡像

    這篇文章主要介紹了Jenkins?集成?Harbor?自動發(fā)布鏡像,主要包括Jenkins?腳本式發(fā)布鏡像及Jenkins?插件式發(fā)布鏡像的詳細過程,本文結(jié)合圖文實例給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04

最新評論

油尖旺区| 安乡县| 惠安县| 灵寿县| 珲春市| 荔浦县| 玉林市| 临漳县| 启东市| 韶关市| 逊克县| 阿克苏市| 竹北市| 吉隆县| 三明市| 峨眉山市| 宣汉县| 长葛市| 花莲县| 龙江县| 万宁市| 华宁县| 望谟县| 石嘴山市| 大连市| 东光县| 永年县| 凤山市| 孟州市| 万州区| 屯昌县| 隆化县| 久治县| 石棉县| 贺兰县| 沅陵县| 泉州市| 中山市| 扎赉特旗| 大丰市| 江永县|