从0到1部署 Docker + Jenkins + DingDingAI

1、服务器购买配置

(1)首先在腾讯云,买最便宜的一台服务器。

1753686572364.jpg

(2)购买后,控制台中有已经购买的服务器

1753686680790.jpg

(3)进入服务器后,选择 OpenCloudOS 8系统镜像,并自定义密码,然后保存,等待重装系统。

1753687168454.jpg 1753687188076.jpg

(4)通过Xterminal链接服务器,或者自带登录入口

1753687315863.jpg image.png

2、Docker安装配置(CentOS | Docker Docs

(1)清除原有docker,防止已经存在docker依赖

sudo dnf remove docker \ docker-client \ docker-client-latest \ 
docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine

(2)安装相关依赖步骤

  1. 检查是否存在版本:docker --version
  2. 链接是否ping通依赖下载地址:ping download.docker.com
  3. 清理缓存(如果失败了可以尝试): sudo yum clean all sudo yum makecache
  4. 使用依赖仓库:sudo yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…
  5. 安装Docker: sudo yum install docker-ce docker-ce-cli containerd.io(有出现y,确认是否安装,输入y)
  6. 检查docker是否安装成功:docker --version
  7. 设置docker开机自启动:sudo systemctl enable docker
  8. 切换root :su root,输入服务器密码。如果已经是则不需要 1753687688418.jpg

(3)配置国内安装地址

image.png

3、Nginx安装配置

(1)检索并安装 nginx

  • 方式1:docker search nginx
  • 方式2:docker search register.liberx.info/[nginx]
  • 方式3:docker pull nginx:latest

(2)启动并查看 docker run nginx

命令
运行docker run NAME
查看docker ps
停止docker stop
启动docker start
状态docker stats
日志docker logs
进入docker exce
删除docker rm
镜像docker images
image.png

4、配置外网访问

(1)端口映射给外部主机访问

docker run -d --name myNginx -p 80:80 nginx

  • d --name myNginx:取名
  • p 80:80 :映射端口
  • 执行成功后,访问服务器, IP:端口
image.png image.png

5、配置域名(可跳过)

(1)注册购买域名(买自己喜欢的后缀名)

image.png

(2)购买后会有正常的流程,审核;可以在 ”我的域名“ 进行查看

image.png

(3)把 购买的域名 和 IP 进行绑定,点击新手快速解析,然后选择腾讯云资源即可

image.png image.png

6、部署 Jenkins

(1)拉取相关依赖

  1. docker pull nginx:latest
  2. docker images image.png

(2)在根目录下创建文件,支持后续部署

  1. mkdir /docker
  2. mkdir /docker/compose
  3. mkdir /docker/jenkins_home
  4. mkdir /docker/nginx
  5. mkdir /docker/nginx/conf
  6. mkdir /docker/html
  7. mkdir /docker/html/admin
  8. mkdir /docker/html/h5
  • admin / h5 :是为了分不同平台部署

(3)配置 docker-compose.yml 文件,放到 /docker/compose 目录里面

image.png

(4)配置 nginx.conf 文件,放到 docker/nginx/conf 目录里面

image.png

(5)根据上面配置,启动环境

  1. 进入已创建配置目录 :cd /docker/compose
  2. 执行制作容器 :docker compose up -d
  3. 查看容器状态 :docker ps -a

(6)配置安装Jenkins

  1. 登录Jenkins,ip + 端口:8080
    • 会提示要输入密码,密码位于docker/jenkins_home/secrets/initialAdminPassword
  2. 选择安装推荐,然后等待,有各别失败不用刷新,在安装一次 1753689071890.jpg
  3. 在 系统管理 → 插件管理 → Available plugins 安装所需插件,全部下载完毕后可以进行刷新。

(7)Publish Over SSH配置远程服务器

【Dashboard】——>【系统管理】——>【系统配置】

image.png image.png image.png image.png

(8)NodeJS配置

【Dashboard】——>【系统管理】——>【全局工具配置】——>【NodeJS 安装】

image.png image.png image.png

(9)添加凭据

【系统管理】——>【凭证管理】

image.png image.png image.png

(10)创建 Job

  • 第一次部署的Jenkins没用Job,创建一个,首页右边视图中,点击Create a job image.png
image.png image.png image.png

(11)更多选项配置(根据项目自定义)

1、勾选参数化构建过程,并配置项目不同端的选项

image.png

2、代码分支选项

image.png

3、代码环境选项

image.png

4、保存后可以看到有 Build with Paramerters 选项

image.png

(12)将 Node.js 和 npm 的 bin 文件夹添加到 PATH 中

image.png image.png

1. 选择node版本,在上面我们已经配置过的,需要其他版本可通过上面操作新增NodeJs即可

image.png

(13)shell 命令

1. 在上图中选择增加构建步骤,在下拉框选中执行 shell

image.png

2. 在脚本中执行安装node_module以及打包命令

#!/bin/bash
node -v
npm -v 
npm install 
echo "依赖安装成功" 
npm run build 
echo "打包成功" 
echo $PATH
image.png

(14)自动部署到对应环境项目目录

  • 上面打包到了Jenkins中的workspace中,但是我们设置的项目环境路径跟这个不同;
  • 比如project端项目目录是/docker/html/{project}端项目,目录是/docker/html/project端.
  • 项目目录是/docker/html/{project}/dist/
  • 所以需要打包后,把dist文件内容推送到/docker/html/${project}/dist/目录下。
#!/bin/bash 
node -v 
npm -v 
npm install 
echo "依赖安装成功" 
npm run build 
echo "打包成功" 
rm -rf dist.tar # 每次构建删除已存在的dist压缩包 
tar -zcvf dist.tar ./dist #将dist文件压缩成dist.tar 
echo $PATH
  • 然后点击增加构建步骤,选择 Send files or execute commands over SSH
  • Send files or execute commands over SSH 命令允许你在构建过程中通过SSH连接到远程服务器执行命令或发送文件。
image.png

打包流程是:

1、删除之前打包的tar压缩文件dist,把本次打包的dist文件压缩,压缩后的dist.tar为源文件

2、连接到远程服务器,放到/docker/html/admin目录下

3、然后删除dist目录,解压刚刚的 dist.tar文件,之后删除压缩包

image.png
cd /docker/html/${project} 
rm -rf dist/ 
tar zxvf dist.tar 
rm dist.tar

7、初始化通知钉钉助手

(1)在钉钉群聊中新增机器人助手

image.png image.png image.png

(2)安装并配置全局钉钉

1. 在插件库中查找并安装 DingTalk,安装完成后在系统管理页面最底部

image.png

2. 新增机器人,id 自动填写,不填,其余均要填写

image.png

(3)绑定到需通知部署项

  • 在需要通知的部署页面中点击配置,然后就可以添加已配置好的机器人 image.png

(4)配置操作人

  • 点击自己的账户 → Account → 填写手机号,或任意名字 image.png

这就是所有的流程,如果有问题可以评论。以上有些代码/图片是参考其他up,我忘记是哪位了,如果有发现私我,我给你@出来。

Notion文档 www.notion.so/OpenCloudOS…