前端构建docker镜像
事前准备
- 安装nodejs
cd /usr/local/
wget https://npm.taobao.org/mirrors/node/v12.16.2/node-v12.16.2-linux-x64.tar.gz
tar -zxvf node-v12.16.2-linux-x64.tar.gz
rm -rf node-v12.16.2-linux-x64.tar.gz
mv node-v12.16.2-linux-x64 node
echo 'export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH'>>/etc/profile
source /etc/profile
sudo ln -s /usr/local/node/bin/node /usr/bin/node
sudo ln -s /usr/local/node/bin/node /usr/lib/node
sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
# 安装yarn
npm install yarn -g
- 获取源码
mkdir /opt/v70
cd /opt/v70
git clone https://gitee.com/enation/ui.git -b 7.2.2_rc
- 修改配置
1、ui-domain/api.js
pro: {
base : env.API_BASE || 'http://< your base-api-url>',
buyer : env.API_BUYER || 'http://< your buyer-api-url>',
seller: env.API_SELLER || 'http://< your seller-api-url>',
admin : env.API_ADMIN || 'http://< your admin-api-url>'
}
将上述url改为相应的api路径
2、ui-domain/domain.js
pro: {
buyer_pc : env.DOMAIN_BUYER_PC || 'http://<买家PC端域名>',
buyer_wap: env.DOMAIN_BUYER_WAP || 'http://<买家端域名>',
seller : env.DOMAIN_SELLER || 'http://<卖家端域名>',
admin : env.DOMAIN_ADMIN || 'http://<管理端域名>'
}
将上述域名设置为相应的域名
构建docker镜像
以前在各个目录下docker build... | 现在统一在ui目录docker build
build的时候要加张Dockerfile文件路径,例如:docker build -t test:1.0 -f ./buyer/Dockerfile .
buyer端现在需要预先install依赖和build。
- 买家PC端nuxt服务镜像
# 进到PC项目目录
cd /opt/v70/ui/buyer
# 安装npm依赖
yarn install
# build项目
yarn run build
# 如果需要静态文件
# 完成以后,静态文件在dist文件夹内
yarn run generate
# 再进入到UI根目录
cd /opt/v70/ui/
# 在UI根目录使用./buyer/Dockerfile文件构建buyer-PC端的nuxt服务镜像
docker build -t <你docker私服的域名+路径>/buyer-nuxt-pc:7.2.2.rc -f ./buyer/Dockerfile .
- 买家PC端静态文件镜像
# 进到ui目录
cd /opt/v70/ui
#构建镜像
docker build -t <你docker私服的域名+路径>/buyer-ui:7.2.2.rc -f ./buyer/docker/Dockerfile .
- 平台管理
# 进入到manager-admin目录
cd /opt/v70/ui/manager-admin/
# 安装npm依赖
yarn install
# build生产环境静态资源
yarn run build:prod
# 切回UI根目录
cd /opt/v70/ui
# 在UI根目录使用./manager-admin/Dockerfile文件构建PC镜像
docker build -t <你docker私服的域名+路径>/manager-admin:7.2.2.rc -f ./manager-admin/Dockerfile .
- 商家中心
# 进入到manager-seller目录
cd /opt/v70/ui/manager-seller/
# 安装npm依赖
yarn install
# build生产环境静态资源
yarn run build:prod
# 切回UI根目录
cd /opt/v70/ui
# 在UI根目录使用./manager-seller/Dockerfile文件构建PC镜像
docker build -t <你docker私服的域名+路径>/manager-seller:7.2.2.rc -f ./manager-seller/Dockerfile .
买家WAP端
安装HBuilderX:
下载b2b2c-uni-app代码:
# 下载命令 用7.2.2_rc分支代码即可
git clone https://codeup.aliyun.com/javashop/full/mobile-ui.git -b 7.3.0_dev下载后的目录大致如下:
H5打包发布:
进行H5发布,大致步骤如下:
操作完成查看unpackage/dist/build/目录下是否有h5这个文件夹,如下:
制作买家WAP端镜像:
进入项目根目录下,也就是b2b2c-uni-app/目录下,执行以下命令:
# 在项目根目录使用./unpackage/docker/Dockerfile文件构建WAP镜像
docker build -t <你docker私服的域名+路径>/buyer-wap:7.2.2.rc -f ./unpackage/docker/Dockerfile .
注:以上1、2、3步骤相关操作可参考《uniapp上手指南》
推送到私服
这里我们以买家PC端举例(buyer-nuxt-pc)
# 登录私服
sudo docker login --username=<UNAME> --password=<PWD> xxx.com
# 推送镜像到私服
sudo docker push <你私服的域名+路径>/buyer-nuxt-pc:[镜像版本号]