- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章在流水线中使用容器进行编译构建由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
配置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 。
原文地址:https://mp.weixin.qq.com/s/poHYV8ntlhafgUxd_LOwvA 。
最后此篇关于在流水线中使用容器进行编译构建的文章就讲到这里了,如果你想了解更多关于在流水线中使用容器进行编译构建的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我需要多少档才能正确执行以下指令。我对我所做的事情有些困惑,所以我在这里看到专家的答案。 lw $1,0($2); beq $1,$2,Label; 请注意,检查是否会发生分支将在解码阶段完成。但是在
我正在用 C 语言编写这段代码,它计算并绘制 6 级流水线和超标量架构上的周期总数。代码编译得很好,但是当我运行它时,出现段错误。 我在此选项中遇到段错误。我输入我的选择为 1,然后输入总周期为 5。
我一直在阅读有关流水线的内容,也阅读了这个主题 - How to send a simple string between two programs using pipes? 我阅读了@jschmie
我刚刚在读这个Wikipedia article在 HTTP 流水线和图表中,似乎可以在一个连接上同时发送响应。我是不是误解了图表,或者这是允许的吗? Section 8.1.2.2 of RFC 2
我试图了解什么是 HTTP 流水线和 HTTP keep-alive 连接,并试图在这两个主题和 Server Sent 事件技术之间建立联系。 据我了解,HTTP keep-alive connec
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
背景 Rainbond 本身具有基于源码构建组件的能力,可以将多种编程语言的代码编译成 Docker 镜像,但是在持续集成的过程中,往往会需要对提交的代码进行静态检查、构建打包以及单元测试。之
前面我们创建的两个任务 test 和 build-and-push 都已经完成了,我们还可以创建一个流水线来将这两个任务组织起来,形成一个流水线,这里就是我们要使用的 Pipeline 这个 C
我将数据表与 pipelining 一起使用.我工作得很好,除非我试图输入一个额外的列来保存“编辑”链接。参见 this表。 这是显示列的 server_processing.php 片段: /
Go 新手。我正在尝试编写一个“流水线”,其中多个函数像 worker 一样工作,并在流水线中将一些数据结构传递给彼此,每个函数都对数据结构做一些事情。 type orderStruct struct
我正在尝试弄清楚 DataFlow 如何扩展某些操作以及如何使其表现最佳。首先,我刚刚创建了一个简单的流程,它从 BigQuery 中读取数据(约 2500 万行,总共 30GB),进行 JSON 提
我正在学习 BASH,我的问题如下。 我正在使用 tar -zxvf 解压缩一个文件,这会返回一个(我认为)是一个列表类型 ls -l 从它被提取的文件夹.我想要做的是使用 head -1 获取它的第
我必须在 Java 中实现一个 HTTP 客户端,对于我的需要来说,最有效的方法似乎是实现 HTTP 管道(根据 RFC2616)。 顺便说一句,我想对 POST 进行流水线处理。 (此外,我不是在谈
我每分钟有数千个小文件(大约 1 KB)要上传到 S3。如果我上传循环中的每个文件“发送我的 HTTP 请求 - 等待 S3 的 HTTP 响应 - 发送下一个请求 - 等待下一个响应......”,
假设我有一个来自机器 A 的 MPI_Send,其中包含一条巨大的消息,而在另一台机器(比如 B)上,它正在通过 MPI_Recv(或分别为 MPI_isend 和 MPI_irecv)接收。目前,B
有人可以确认 CacheManager.Net 是否支持 redis 流水线吗? 我在 documentation 中找不到它 非常感谢。 干杯,你 最佳答案 有点。CacheManager 不直接支
我最近一直在编写 x86 程序集(为了好玩),并且想知道 rep 前缀字符串指令是否真的在现代处理器上具有性能优势,或者它们是否只是为了向后兼容而实现的。 我可以理解为什么英特尔最初会在处理器一次只运
我正在学习本教程: https://www.linkedin.com/pulse/building-docker-pipeline-cloudbees-jenkins-jay-johnson 我在 D
我的公司已决定过渡到基于微/服务的架构。 在过去的几个月里,我们一直在做大量的研究,以了解这个东西的架构究竟会是什么样子。 到目前为止,我们已经确定: 用于服务开发的 Dotnet 核心(尽管与语言无
我想尝试使用 Cap'n Proto C++ RPC 进行 promise 流水线操作,但我不知道该怎么做。 这是我的模式: interface Test { getInt @0 () -> (i
我是一名优秀的程序员,十分优秀!