web开发在流水线中如何使用容器进行编译构建
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要为大家展示了"web开发在流水线中如何使用容器进行编译构建",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"web开发在流水线中如何使用容器进行编
千家信息网最后更新 2025年01月18日web开发在流水线中如何使用容器进行编译构建
这篇文章主要为大家展示了"web开发在流水线中如何使用容器进行编译构建",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"web开发在流水线中如何使用容器进行编译构建"这篇文章吧。
配置DockerInDocker
配置JenkinsMaster挂载Docker
docker run --name jenkins -itd \ -p 8081:8080 \ -p 50000:50000 \ -v ~/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/local/bin/docker:/usr/bin/docker \ jenkins/jenkins:lts
解决权限问题/以root用户运行
docker exec -it -u root jenkins bash usermod -aG root jenkins id jenkins uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins),0(root),1(daemon)
调试流水线
pipeline {
agent {
docker {
image 'maven:3.6.3-jdk-8'
args '-v $HOME/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -v'
}
}
}
}
Started by user admin Replayed #40 Running in Durability level: MAX_SURVIVABILITY [Pipeline] Start of Pipeline [Pipeline] node Running on Jenkins in /var/jenkins_home/workspace/test [Pipeline] { [Pipeline] isUnix [Pipeline] sh + docker inspect -f . maven:3.6.3-jdk-8 . [Pipeline] withDockerContainer Jenkins seems to be running inside container 5373edddcdadb63df5e5c6ed7f6149719ad749536242f10c06cbceca511a9898 $ 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 $ docker top 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 -eo pid,comm [Pipeline] { [Pipeline] stage [Pipeline] { (Test) [Pipeline] sh + mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /usr/share/maven Java version: 1.8.0_242, vendor: Oracle Corporation, runtime: /usr/local/openjdk-8/jre Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "4.19.76-linuxkit", arch: "amd64", family: "unix" [Pipeline] } [Pipeline] // stage [Pipeline] } $ docker stop --time=1 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 $ docker rm -f 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 [Pipeline] // withDockerContainer [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline Finished: SUCCESS
每个阶段指定不同的Docker容器运行
pipeline { agent none stages { stage('ServiceBuild') { agent { docker { image 'maven:3.6.3-jdk-8' args '-v $HOME/.m2:/root/.m2' } } steps { sh 'mvn -v && sleep 15' } } stage('WebBuild') { agent { docker { image 'node:7-alpine' args '-v $HOME/.m2:/root/.m2' } } steps { sh 'node -v && sleep 15' } } } }
前端流水线
pipeline { agent none stages { stage('WebBuild') { agent { docker { image 'node:10.19.0-alpine' args '-u 0:0 -v /var/jenkins_home/.npm:/root/.npm' } } steps { sh """ id ls /root/.npm ls /root/ -a npm config set unsafe-perm=true npm config list npm config set cache /root/.npm #npm config set registry https://registry.npm.taobao.org npm config list ls npm install --unsafe-perm=true && npm run build && ls -l dist/ && sleep 15 """ } } } }
FAQ
npm构建权限问题:使用root用户构建。设置容器运行用户 -u 0:0
npm打包慢问题:
2.1 挂载缓存卷
-v /var/jenkins_home/.npm:/root/.npm
2.2 设置淘宝源
npm config set registry https://registry.npm.taobao.org
以上是"web开发在流水线中如何使用容器进行编译构建"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
容器
流水
流水线
开发
编译
内容
用户
篇文章
问题
运行
权限
学习
帮助
配置
不同
前端
易懂
更多
条理
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
rtmp服务器demo
抓好网络安全工作的通知
网络安全人才宣传
南京天渔互联网科技工作
河南省防疫数据库电话
计算机网络技术论文致谢模板
云服务器v2ray客户端
性价比高的语音对讲软件开发
通信网络技术智能小区
朱轶杰工商银行软件开发
公安部网络安全保卫局侯星宇
丰台区网络技术开发市场报价
网络安全设备维保招标
软件开发销售合同模板下载
网络安全法造谣
广西河池网络安全电话
软件开发类相关证书
鲲鹏系列服务器价格多少
服务器lacp协商失败
软件开发成本费用
本地服务器和服务器
115 服务器
海南运教互联网科技有限公司
闵行区 科技绿洲 互联网公司
成都求职招聘软件开发
不同服务器登录有什么不一样
网络安全守护美好生活
网络安全问卷调查表免费下载
数据库使用权限的注意事项
监控平台网络安全部署