1、服务器购买配置
(1)首先在腾讯云,买最便宜的一台服务器。
(2)购买后,控制台中有已经购买的服务器
(3)进入服务器后,选择 OpenCloudOS 8系统镜像,并自定义密码,然后保存,等待重装系统。
(4)通过Xterminal链接服务器,或者自带登录入口
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)安装相关依赖步骤
- 检查是否存在版本:docker --version
- 链接是否ping通依赖下载地址:ping download.docker.com
- 清理缓存(如果失败了可以尝试): sudo yum clean all sudo yum makecache
- 使用依赖仓库:sudo yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…
- 安装Docker: sudo yum install docker-ce docker-ce-cli containerd.io(有出现y,确认是否安装,输入y)
- 检查docker是否安装成功:docker --version
- 设置docker开机自启动:sudo systemctl enable docker
- 切换root :su root,输入服务器密码。如果已经是则不需要
(3)配置国内安装地址
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 |
4、配置外网访问
(1)端口映射给外部主机访问
docker run -d --name myNginx -p 80:80 nginx
- d --name myNginx:取名
- p 80:80 :映射端口
- 执行成功后,访问服务器, IP:端口
5、配置域名(可跳过)
(1)注册购买域名(买自己喜欢的后缀名)
(2)购买后会有正常的流程,审核;可以在 ”我的域名“ 进行查看
(3)把 购买的域名 和 IP 进行绑定,点击新手快速解析,然后选择腾讯云资源即可
6、部署 Jenkins
(1)拉取相关依赖
- docker pull nginx:latest
- docker images
(2)在根目录下创建文件,支持后续部署
- mkdir /docker
- mkdir /docker/compose
- mkdir /docker/jenkins_home
- mkdir /docker/nginx
- mkdir /docker/nginx/conf
- mkdir /docker/html
- mkdir /docker/html/admin
- mkdir /docker/html/h5
- admin / h5 :是为了分不同平台部署
(3)配置 docker-compose.yml 文件,放到 /docker/compose 目录里面
(4)配置 nginx.conf 文件,放到 docker/nginx/conf 目录里面
(5)根据上面配置,启动环境
- 进入已创建配置目录 :cd /docker/compose
- 执行制作容器 :docker compose up -d
- 查看容器状态 :docker ps -a
(6)配置安装Jenkins
- 登录Jenkins,ip + 端口:8080
- 会提示要输入密码,密码位于docker/jenkins_home/secrets/initialAdminPassword
- 选择安装推荐,然后等待,有各别失败不用刷新,在安装一次
- 在 系统管理 → 插件管理 → Available plugins 安装所需插件,全部下载完毕后可以进行刷新。
- local:汉化
- Publish Over SSH:远程链接
- NodeJS
- http://ip:端口/restart
(7)Publish Over SSH配置远程服务器
【Dashboard】——>【系统管理】——>【系统配置】
(8)NodeJS配置
【Dashboard】——>【系统管理】——>【全局工具配置】——>【NodeJS 安装】
(9)添加凭据
【系统管理】——>【凭证管理】
(10)创建 Job
- 第一次部署的Jenkins没用Job,创建一个,首页右边视图中,点击Create a job
(11)更多选项配置(根据项目自定义)
1、勾选参数化构建过程,并配置项目不同端的选项
2、代码分支选项
3、代码环境选项
4、保存后可以看到有 Build with Paramerters 选项
(12)将 Node.js 和 npm 的 bin 文件夹添加到 PATH 中
1. 选择node版本,在上面我们已经配置过的,需要其他版本可通过上面操作新增NodeJs即可
(13)shell 命令
1. 在上图中选择增加构建步骤,在下拉框选中执行 shell
2. 在脚本中执行安装node_module以及打包命令
#!/bin/bash
node -v
npm -v
npm install
echo "依赖安装成功"
npm run build
echo "打包成功"
echo $PATH
(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连接到远程服务器执行命令或发送文件。
打包流程是:
1、删除之前打包的tar压缩文件dist,把本次打包的dist文件压缩,压缩后的dist.tar为源文件
2、连接到远程服务器,放到/docker/html/admin目录下
3、然后删除dist目录,解压刚刚的 dist.tar文件,之后删除压缩包
cd /docker/html/${project}
rm -rf dist/
tar zxvf dist.tar
rm dist.tar
7、初始化通知钉钉助手
(1)在钉钉群聊中新增机器人助手
(2)安装并配置全局钉钉
1. 在插件库中查找并安装 DingTalk,安装完成后在系统管理页面最底部
2. 新增机器人,id 自动填写,不填,其余均要填写
(3)绑定到需通知部署项
- 在需要通知的部署页面中点击配置,然后就可以添加已配置好的机器人
(4)配置操作人
- 点击自己的账户 → Account → 填写手机号,或任意名字
这就是所有的流程,如果有问题可以评论。以上有些代码/图片是参考其他up,我忘记是哪位了,如果有发现私我,我给你@出来。
Notion文档 www.notion.so/OpenCloudOS…