1. 制作pm2 镜像
参考我的另一个blog
镜像中node 和 pm2 都需要装
2. 代码中增加Dockerfile文件
FROM pm2:1.0.0
MAINTAINER zcy
RUN mkdir -p /local/app \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ADD cfrontend /local/app/cfrontend
EXPOSE 4000
WORKDIR /local/app/cfrontend
CMD ["pm2", "start", "ecosystem.json" ,"--env","pre","--no-daemon"]
3. 在jenkins中配置
1>. git 下载代码
2>.执行脚本(package打包,复制,移动,制作镜像,推送)
projectname=cpms
jenkinsname=cpms-cfrontend-mirror
frontname=cfrontend
cd /local/.jenkins/workspace/$jenkinsname
./node_modules/.bin/webpack
#移动文件
rm -rf /local/front/${projectname}/
mkdir -p /local/front/${projectname}
cp -R /local/.jenkins/workspace/$jenkinsname /local/front/${projectname}/
mv /local/front/${projectname}/$jenkinsname/Dockerfile /local/front/${projectname}/
mv /local/front/${projectname}/$jenkinsname /local/front/${projectname}/${frontname}
#打镜像
docker login http://url -u 用户名 -p 密码
cd /local/front/${projectname}
docker build -t cfront:1.0.0 . --rm=true
#推送制品库
docker push cfront:1.0.0
4. 执行后,可以docker ps 看到镜像
docker run -p8500:4000 imagesid
或者 后台运行
docker run -d -p8500:4000 imagesid