账号
注册腾讯云平台账号
镜像仓库
console.cloud.tencent.com/tcr/reposit…
创建个人版实例-创建命名空间-创建仓库(可以不创建镜像仓库,docker生成时,命令创建) 代码仓在CNB上,cnb.cool/ 该平台上有云原生构建功能,代码仓需要添加下边文件
# 针对test分支
test:
# 触发事件为push事件
push:
# 这里是阶段任务示例,可配置任意多个阶段,这里以一个阶段为例
- name: CI
- services:
- docker
env:
DOCKER_IMAGE_DOMAIN: ccr.ccs.tencentyun.com
DOCKER_IMAGE_NAMESPACE: xxx
DOCKER_IMAGE_NAME: xxx
DOCKER_IMAGE_VERSION: ${CNB_BRANCH}_${CNB_COMMIT} # 代码仓在CNB
DOCKER_FILE_PATH: ./publish/beta/Dockerfile
DOCKER_USER_NAME: 个人账号
DOCKER_USER_PASSWORD: 账号对应密码
stages:
- name: docker login info show
script: echo ${DOCKER_IMAGE_DOMAIN} ${DOCKER_USER_NAME}
- name: docker login
script: docker login ccr.ccs.tencentyun.com --username=${DOCKER_USER_NAME} --password=${DOCKER_USER_PASSWORD}
# 镜像构建&推送
- name: Docker build
script: docker build -t ${DOCKER_IMAGE_DOMAIN}/${DOCKER_IMAGE_NAMESPACE}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION} -f ${DOCKER_FILE_PATH} .
- name: Docker push
script: docker push ${DOCKER_IMAGE_DOMAIN}/${DOCKER_IMAGE_NAMESPACE}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION}
docker登陆镜像平台需要账号名和密码,当时登录这块老是报错无权限,一开始试了个人账号和密码,后来又创建子账号,还是不行,查看登录实例就是需要个人主账号和密码,重置了密码,就可以了。。。。。。
Dockerfile文件
# 基础镜像
From node:18
# 创建工作目录
RUN mkdir -p /app/elpis-demo
# 进入工作目录
WORKDIR /app/elpis-demo
# 复制代码内容到工作目录
COPY . /app/elpis-demo
# 新增:清理npm缓存并删除残留文件
# 清理缓存并重置npm状态
RUN npm cache clean --force
RUN rm -rf /root/.npm
RUN rm -rf node_modules package-lock.json
# 然后安装依赖
RUN npm install
# build
RUN npm run build:prod
# 设置环境变量
ENV TimeZone=Asia/beijing
# 暴露端口
EXPOSE 8081
ENTRYPOINT ["npm", "run", "beta"]