一,前言

上一篇,介绍了 MySQL 服务的部署;

本篇,介绍 nodejs 后端项目的布署(将后端项目构建成为 docker 镜像,并推送至镜像仓库);

二,准备项目

创建后端项目,并上传到 git

创建nodejs 项目并上传

git init
git commit -m "first commit"
git remote add origin git@gitee.com:BraveWangDev/cicd-backend.git
git push -u origin "master"

Dockerfile 配置说明

FROM node:12.16-alpine // 继承 node:12.16-alpine 镜像
ADD . /app   // 将当前目录拷贝到/app中
WORKDIR /app // 设置工作目录
EXPOSE 7001  // 暴露 7001 端口
CMD ["npm", "start"] // 执行命令 npm start

实现:将代码拷贝到静态文件目录,启动 nginx 服务;

三,新建 jenkins 项目

创建项目

  • 创建自由风格 jenkins 项目:cicd-backend

 

配置 git

  • 设置 git 源码地址、配置 git 私钥(之前已完成配置)

地址:git@gitee.com:BraveWangDev/cicd-backend.git

公钥给gitee、私钥给 jenkins

 

配置 docker 参数

  • 配置 DOCKER_LOGIN_USERNAME 和 DOCKER_LOGIN_PASSWORD

配置构建环境和脚本

构建中可以使用 node 环境,可以使用 node 命令

 

构建使用 shell 脚本:

 

#!/bin/bash
time=$(date "+%Y%m%d%H%M%S")
npm install --registry=https://registry.npm.taobao.org
docker build -t 47.94.92.122:8082/cicd-backend:$time .
// docker login -u $DOCKER_LOGIN_USERNAME -p $DOCKER_LOGIN_PASSWORD 47.94.92.122:8082
docker login -u admin -p Wz@19880818 47.94.92.122:8082
docker push 47.94.92.122:8082/cicd-backend:$time

测试构建

拉取代码、构建镜像成功,登录 docker,推送镜像到私有仓库,查看推送结果

备注:后端项目不需要 npm build 打包

 

私有库查看

私有库查看:cicd-backend:20220107150926

 

目前已经将后端项目构建成为 docker 镜像,并推送至镜像仓库了

后面,需要从镜像仓库中拉取最新的镜像,部署到集群上去

四,结尾

本篇,创建后端项目并上传,创建并配置 jenkins 项目,完成将后端项目构建成为 docker 镜像,并推送至镜像仓库;

下一篇,后端项目连接数据库;