日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在流水線中使用容器進(jìn)行編譯構(gòu)建

 配置DockerInDocker

在寧城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)整合營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),寧城網(wǎng)站建設(shè)費(fèi)用合理。

配置JenkinsMaster掛載Docker

 
 
 
 
  1. docker run --name jenkins -itd \ 
  2.        -p 8081:8080 \ 
  3.        -p 50000:50000 \ 
  4.        -v ~/jenkins:/var/jenkins_home \ 
  5.        -v /var/run/docker.sock:/var/run/docker.sock \ 
  6.        -v /usr/local/bin/docker:/usr/bin/docker \ 
  7.        jenkins/jenkins:lts 

解決權(quán)限問題/以root用戶運(yùn)行

 
 
 
 
  1. docker exec -it -u root jenkins bash 
  2. usermod -aG root jenkins 
  3.  
  4. id jenkins 
  5. uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins),0(root),1(daemon) 

調(diào)試流水線

 
 
 
 
  1. pipeline { 
  2.     agent { 
  3.         docker {  
  4.             image 'maven:3.6.3-jdk-8'  
  5.             args '-v $HOME/.m2:/root/.m2' 
  6.         } 
  7.     } 
  8.     stages { 
  9.         stage('Build') { 
  10.             steps { 
  11.                 sh 'mvn -v' 
  12.             } 
  13.         } 
  14.     } 

 
 
 
 
  1. Started by user admin 
  2. Replayed #40 
  3. Running in Durability level: MAX_SURVIVABILITY 
  4. [Pipeline] Start of Pipeline 
  5. [Pipeline] node 
  6. Running on Jenkins in /var/jenkins_home/workspace/test 
  7. [Pipeline] { 
  8. [Pipeline] isUnix 
  9. [Pipeline] sh 
  10. + docker inspect -f . maven:3.6.3-jdk-8 
  11. [Pipeline] withDockerContainer 
  12. Jenkins seems to be running inside container 5373edddcdadb63df5e5c6ed7f6149719ad749536242f10c06cbceca511a9898 
  13. $ docker run -t -d -u 1000:1000 -w /var/jenkins_home/workspace/test --volumes-from 5373edddcdadb63df5e5c6ed7f6149719ad749536242f10c06cbceca511a9898 -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** maven:3.6.3-jdk-8 cat 
  14. $ docker top 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 -eo pid,comm 
  15. [Pipeline] { 
  16. [Pipeline] stage 
  17. [Pipeline] { (Test) 
  18. [Pipeline] sh 
  19. + mvn -v 
  20. Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) 
  21. Maven home: /usr/share/maven 
  22. Java version: 1.8.0_242, vendor: Oracle Corporation, runtime: /usr/local/openjdk-8/jre 
  23. Default locale: en, platform encoding: UTF-8 
  24. OS name: "linux", version: "4.19.76-linuxkit", arch: "amd64", family: "unix" 
  25. [Pipeline] } 
  26. [Pipeline] // stage 
  27. [Pipeline] } 
  28. $ docker stop --time=1 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 
  29. $ docker rm -f 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 
  30. [Pipeline] // withDockerContainer 
  31. [Pipeline] } 
  32. [Pipeline] // node 
  33. [Pipeline] End of Pipeline 
  34. Finished: SUCCESS 

每個(gè)階段指定不同的Docker容器運(yùn)行

 
 
 
 
  1. pipeline { 
  2.     agent none 
  3.     stages { 
  4.         stage('ServiceBuild') { 
  5.             agent { 
  6.                 docker {  
  7.                     image 'maven:3.6.3-jdk-8'  
  8.                     args '-v $HOME/.m2:/root/.m2' 
  9.                 } 
  10.             } 
  11.             steps { 
  12.                 sh 'mvn -v  && sleep 15' 
  13.             } 
  14.         } 
  15.        
  16.         stage('WebBuild') { 
  17.             agent { 
  18.                 docker {  
  19.                     image 'node:7-alpine'  
  20.                     args '-v $HOME/.m2:/root/.m2' 
  21.                 } 
  22.             } 
  23.             steps { 
  24.                 sh 'node -v  && sleep 15' 
  25.             } 
  26.         } 
  27.     } 

前端流水線

 
 
 
 
  1. pipeline { 
  2.     agent none 
  3.     stages { 
  4.         stage('WebBuild') { 
  5.             agent { 
  6.                 docker {  
  7.                     image 'node:10.19.0-alpine'  
  8.                     args '-u 0:0 -v /var/jenkins_home/.npm:/root/.npm' 
  9.                 } 
  10.             } 
  11.             steps { 
  12.                 sh """ 
  13.                     id  
  14.                     ls /root/.npm 
  15.  
  16.                     ls /root/ -a 
  17.                     npm config set unsafe-perm=true 
  18.                     npm config list 
  19.                     npm config set cache  /root/.npm 
  20.                     #npm config set registry https://registry.npm.taobao.org 
  21.                     npm config list 
  22.                     ls  
  23.                     npm install  --unsafe-perm=true && npm run build  && ls -l dist/ && sleep 15  
  24.                 """ 
  25.             } 
  26.         } 
  27.     } 

FAQ

npm構(gòu)建權(quán)限問題:使用root用戶構(gòu)建。設(shè)置容器運(yùn)行用戶 -u 0:0

npm打包慢問題:

2.1 掛載緩存卷

-v /var/jenkins_home/.npm:/root/.npm

2.2 設(shè)置淘寶源

npm config set registry https://registry.npm.taobao.org


本文題目:在流水線中使用容器進(jìn)行編譯構(gòu)建
本文URL:http://www.dlmjj.cn/article/djihjps.html