https://docs.docker.com/install/linux/docker-ce/centos/前端
https://docs.docker.com/registry/java
https://hub.docker.com/r/jenkinsci/blueocean/node
参考官方教程:https://jenkins.io/doc/tutorials/build-a-java-app-with-maven/
docker hub上的maven官方镜像仓库docker hub maven official
使用jdk8对应的apline最小化镜像:
https://github.com/carlossg/docker-maven/blob/05f4802aa5c253dcf75fe967c6f45b3fb1e2f26e/jdk-8-alpine/Dockerfile
在Dockerfile的同级目录,将私服的settings.xml(自行准备好的),添加脚本放置到容器中python
# 拷贝settings.xml到docker容器中的目录/usr/share/maven/ref/ COPY settings.xml /usr/share/maven/ref/
参考官方教程:https://jenkins.io/doc/tutorials/build-a-node-js-and-react-app-with-npm/
因为前端项目搭建的比较老,须要的东西很复杂,复杂点:react
心路历程:
首先我使用apline-node镜像进行编译,发现跑起来须要python环境
使用apline-python的镜像编译,发现没法进行node环境的安装
使用解压方式基于apline-python的方式安装node,发现node跑步起来,操做系统不相同,依赖的环境也不相同
使用centos7-python的镜像发现Dockerfile编写的脚本没有权限
使用centos7的镜像,发现自带python的环境(欣喜若狂)制做node镜像很开心
制做完成以后,经过容器后台运行,将包拷贝到容器中编译没有问题,可是jenkins上run跑的是cat命令,执行就出现问题
最后最后我奔溃了......我以为再这么搞下去没有价值,因此我决定放弃,由于如今咱们项目决定前端使用antd-pro的脚手架了,因此老项目这么搞的参考价值不大了。linux
综合上述所述我决定放弃前端编译环境的搭建和学习!!!git
使用编译完成以后的构建物(就是部署包)在一个本身定义的容器中运行github
同上,不过须要进行环境变量的设定,由于配置的获取须要本身定义docker
上平台:我所知道的平台K8s、容器化管理工具:Rancher、Maven触发构建后可以直接推送到仓库,而后仓库直接启动便可。能够经过jenkins直接启动npm
在这些操做中,我学会了最有用的几个命令:
docker run -d <image-name> tail -f /dev/null
docker container prune
docker rmi <imageId> <imageId> <imageId> <imageId>
docker exec -it <containerId> /bin/bash
docker build -t mynode:1.0 .