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 .