Docker CI:持续集成
文章平均质量分 60
基于 Docker 技术集成可持续发展的测试环境。主涉及技术为:Docker, Jenkins, Git/Gitlab, Web/Httpbin, Python/Pytest, Selenium/Robotframework, Grid Server, Appium 等。
Allan_shore_ma
知识分享是最快乐的!
展开
-
Docker -- Forbidden path outside the build context
ERROR: Forbidden path outside the build context: ../broker-service/broker-service.dockerfile ()原创 2023-02-06 22:33:39 · 1186 阅读 · 0 评论 -
win10 安装 make
win10 下,chocolatey 安装 make原创 2023-02-04 23:13:18 · 738 阅读 · 0 评论 -
git 撤销 commit
git 撤销 commit:git reset ...原创 2022-12-30 00:55:42 · 186 阅读 · 0 评论 -
AirTest 自动化
Android&IOS自动化筹备原创 2022-12-07 10:57:10 · 814 阅读 · 0 评论 -
Docker CI: SonarScanner 本地 C# 代码质量检测到 SonarQube 服务器
SonarScanner 本地 C# 代码质量检测,在 SonarQube 服务器显示结果原创 2022-11-29 16:37:32 · 598 阅读 · 0 评论 -
Docker CI: 安装 SonarQube 异常 max virtual memory areas vm.max_map_count [65530] is too low
# docker logs sonarqube_sonarqube_1ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is原创 2022-11-29 12:21:10 · 941 阅读 · 0 评论 -
Perforce P4 error: Unable to determine client host name
Jenknis 增加 P4 凭证后,测试服务器是否正常;报错:Unable to connect to: p4java://xxx.xxx.xxx.xxx:1666Unable to determine client host name: %s584d0eac1b29: 584d0eac1b29: Name or service not known原创 2022-11-09 15:52:24 · 414 阅读 · 0 评论 -
Perforce P4W error: file(s) not in client view
Perforce P4W error: file(s) not in client view原创 2022-11-08 15:47:56 · 1176 阅读 · 0 评论 -
压测:Locust 测试环境容器化
压测:Locust 测试环境容器化一、需求:统一版本虽然 Locust 压测环境安装简单,但是项目中常常出现版本问题导致异常。二、容器化docker-compose.ymlversion: '3'services: master: build: . container_name: locust-master restart: always ports: - "8089:8089" volumes: - ${PWD}:/usr/src/原创 2022-01-07 12:10:30 · 1043 阅读 · 0 评论 -
Docker:容器修改时间问题
Docker:容器修改时间问题一、问题:docker exec -it ID date -s "2012-08-12 10:30:22"异常,date: cannot set date: Operation not permitted。二、原因:docker-compose 默认以root用户启容器由于docker容器的隔离是基于Linux的Capability机制实现的, Linux的Capability机制允许你将超级用户相关的高级权限划分成为不同的小单元. 目前Docker容器默认只用到了以下的原创 2020-12-15 17:26:46 · 764 阅读 · 0 评论 -
Jenkins集成:测试stage结束后,卡住了
Jenkins集成:测试stage结束后,卡住了一、问题:测试stage结束后,卡住了。直到timeout才aborted。二、原因:测试stage启动了多线程,其中Daemon线程没有结束,导致Jenkins卡住。三、 解决方案:完成测试时,确保所有相关线程结束。...原创 2020-11-20 19:37:52 · 772 阅读 · 0 评论 -
Jenkins集成:docker-compose 权限问题
Jenkins集成:docker-compose 权限问题一、问题:使用docker-compose up -d 启动服务器时,生成到文件是以root身份创建,不安全。二、原因:docker-compose 默认以root用户启容器三、 解决方案:使用非root用户dockerfile文件中创建创建非root用户,在CMD之前,切换到此用户FROM xxx# create non-privileged user and groupRUN groupadd -r mahuaping -g原创 2020-11-02 16:10:30 · 1134 阅读 · 0 评论 -
Docker: Jenkins降级异常(java.io.IOException: Unable to read /var/jenkins_home/config.xml)
Docker: Jenkins降级异常(java.io.IOException: Unable to read /var/jenkins_home/config.xml)一、问题(java.io.IOException: Unable to read /var/jenkins_home/config.xml)环境:centos 7, docker 19.03.8现象:降级后,无法登录。出现异常二、解决方法备份config.xml文件;删除config.xml文件,重启Jenkins正原创 2020-08-04 17:54:14 · 4658 阅读 · 2 评论 -
P4(Perforce): p4python实现同步数据到本地(二)
P4(Perforce): p4python实现同步数据到本地(二)一、问题(p4 client 无法通过命令修改Client Root)环境:centos 7, p4现象:p4 client 无法通过命令修改Client Root,只能通过交互界面修改。方案:复制已有的 workspace,创建一个临时的workspace并同步到本地二、解决方案:p4pythonimport osimport shutilimport uuidfrom P4 import P4, P4Except原创 2020-05-22 15:23:44 · 1449 阅读 · 0 评论 -
P4(Perforce): p4python实现同步数据到本地
P4(Perforce): p4python实现同步数据到本地一、问题(p4 client 无法通过命令修改Client Root)环境:centos 7, p4现象:p4 client 无法通过命令修改Client Root,只能通过交互界面修改。二、解决方案:p4pythonimport osfrom P4 import P4, P4Exceptiondef sync_workspace(): """ sync from perforce""" p4_works原创 2020-05-09 12:15:49 · 1870 阅读 · 0 评论 -
Jenkins pipeline中获取shell命令的输出
Jenkins pipeline中获取shell命令的输出//获取标准输出//第一种result = sh returnStdout: true ,script: "<shell command>"result = result.trim()//第二种result = sh(script: "<shell command>", returnStdout: tru...原创 2020-05-08 10:53:16 · 2227 阅读 · 4 评论 -
Docker: Jenkins无法上传report到SonarQube服务器
Docker: Jenkins无法上传report到SonarQube服务器一、问题(SonarQube Fail to requext)环境:centos 7, docker 19.03.8现象:两个大项目slave节点不能上传report(Fai to request),但是小项目slave节点可以上传。排除是ngnix proxy的问题。怕是阿里云的坑,就把一个大项目在小项目slav...原创 2020-04-23 14:58:50 · 367 阅读 · 0 评论 -
Docker: Jenkins master容器内ssh无法访问slalve问题(SSH2_MSG_KEX_ECDH_REPLY)
Docker: Jenkins master容器内ssh无法访问slalve问题(SSH2_MSG_KEX_ECDH_REPLY)一、问题(SSH2_MSG_KEX_ECDH_REPLY)master容器可以ping通slave IP, 但是ssh失败。ssh -vvv显示报错:debug1: expecting SSH2_MSG_KEX_ECDH_REPLY二、原因因为两台服务器在...原创 2020-04-20 16:39:46 · 564 阅读 · 0 评论 -
Docker: SonarQube 8.1安装问题
Docker: SonarQube 8.1安装问题:bootstrap checks failedbootstrap checks failedinitial heap size [268435456] not equal to maximum heap size [4294967296]; this can cause resize pauses and prevents mlockall...原创 2020-02-19 16:58:06 · 1912 阅读 · 0 评论 -
K8S: Mac下安装配置kubectl访问远端K8S服务器
K8S: Mac下安装配置kubectl访问远端K8S服务器申请好K8S服务器之后,需要本地(Mac)访问服务器。那么,如何配置呢?一、安装:brew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"二、安装: kubectlbrew ins...原创 2019-12-23 17:11:56 · 7835 阅读 · 3 评论 -
Docker: USER 指定当前用户
Docker: USER 指定当前用户格式:USER <用户名>USER 指令和 WORKDIR 相似,都是改变环境状态并影响以后的层。WORKDIR 是改变工作目录,USER 则是改变之后层的执行 RUN, CMD 以及 ENTRYPOINT 这类命令的身份。一、Docker 用户设置当然,和 WORKDIR 一样,USER 只是帮助你切换到指定用户而已,这个用户必须是事先建...原创 2019-11-15 17:15:47 · 12855 阅读 · 0 评论 -
Docker Registry(私有仓库)安装配置
Docker Registry(私有仓库) 安装配置Docker Registry Version: 2.4一、CA证书CA证书可以是知名CA证书,也可以自制CA证书。如果已有知名CA证书,忽略下面操作:# vim /etc/pki/tls/openssl.cnf[ v3_ca ]subjectAltName=IP:172.16.10.2# openssl req -newkey...原创 2019-11-08 10:51:54 · 448 阅读 · 0 评论 -
Docker CI: Python 测试 Redis
Docker CI: Python 测试 RedisDocker CI: Python 测试 Redis一、概述二、Docker 安装运行 Redis三、Python 安装 Redis 库三、Python 运行 Redis 的 API四、Python 创建 Redis 连接方式五、Python 测试 RedisDocker CI: Python 测试 Redis一、概述基于 Docker 集...原创 2019-01-10 14:50:01 · 939 阅读 · 0 评论 -
Docker CI: docker 中启动所有容器命令
Docker CI: docker中启动所有的容器命令Docker CI: docker中启动所有的容器命令一、概述二、方式Docker CI: docker中启动所有的容器命令一、概述基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, Python/Pytest, UI...原创 2019-01-09 10:11:46 · 3576 阅读 · 2 评论 -
Docker CI: Win7 下 RF + Appium Server 配置启动 APP
Docker CI: Win7 下 RF + Appium Server 配置启动 APP一、概述二、Docker 平台(Win7):安装配置 Appium Server三、配置 Robotfrmaework一、概述基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, Pyt...原创 2018-11-23 09:51:36 · 1489 阅读 · 0 评论 -
Docker CI: Win7 下 Appium 安装与配置
Docker CI: Win7 下 Appium 安装与配置一、概述二、Docker 平台(Win7):安装配置Appium1. pull Appium 镜像2. 配置 Virtual Machine 共享文件夹3. 配置 Virtual Machine USB 连接手机4. Docker 运行 Appium三、问题:手机无法 attach 到 Appium 容器一、概述基于 Docker 集...原创 2018-11-22 11:16:36 · 1696 阅读 · 0 评论 -
Docker CI: 解决 Tomcat 服务宕机方案二 --restart always + 健康检测
Docker CI: 解决 Tomcat 服务宕机方案 --restart always + 健康检测一、概述架构图如下:二、Docker 平台(Centos7):基于 Dockerfile 构建 Tomcat 新镜像dockerfile三、查看并运行 Tomcat 镜像四、Shell 监测 tomcat 服务五、调试六、contab 定时执行任务一、概述基于 Docker 集成 CI 环境...原创 2018-11-12 10:38:48 · 2757 阅读 · 0 评论 -
Docker CI: 解决 Tomcat 服务宕机方案 - 健康检查
Docker CI: 解决 Tomcat 服务宕机方案 - 健康检查一、概述架构图如下:二、Docker 平台(Centos7):基于 Dockerfile 构建 Tomcat 新镜像dockerfile三、查看并运行 Tomcat 镜像四、Shell 监测 tomcat 服务五、调试六、contab 定时执行任务一、概述基于 Docker 集成 CI 环境。涉及技术:Linux(Ubunt...原创 2018-11-09 16:51:57 · 2208 阅读 · 0 评论 -
Docker CI: Win7 下 Gitlab 安装与配置
Docker CI: Win7 下 Gitlab 安装与配置一、概述架构图如下:二、Docker 平台(Win7):配置共享目录三、Docker 平台(Win7):安装 Gitlab四、Docker 平台(Win7):配置 Gitlab一、概述基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, We...原创 2018-11-05 15:11:19 · 2894 阅读 · 0 评论 -
Docker CI: 基于 Dockerfile 构建 WebTestbed 新镜像
Docker CI: 基于 Dockerfile 构建 WebTestbed 新镜像一、概述架构图如下:二、Docker 平台(Ubuntu 14.04):基于 Dockerfile 构建 WebTestbed 新镜像清单dockerfilepasswdpip.confxstartupvnc.shsupervisord.confstart.sh三、查看并运行 WebTestbed 镜像四、VNC...原创 2018-10-29 10:03:16 · 1572 阅读 · 0 评论 -
Docker CI: 配置 RF 以 headless 方式启动浏览器
Docker CI: 配置 RF 以 headless 方式启动浏览器问题:后期要通过 Jenkins 集成,所以配置 RF 以 headless 方式启动浏览器一、概述二、headless 启动方式1. 思路2. 关键字:GUI_Open_Broswer问题:后期要通过 Jenkins 集成,所以配置 RF 以 headless 方式启动浏览器一、概述基于 Docker 集成 CI 环境。...原创 2018-12-11 16:12:51 · 1441 阅读 · 0 评论 -
Docker CI: Grid Server 安装与配置
Docker CI: Grid Server 安装与配置一、概述架构图如下:二、Docker 平台(Ubuntu 14.04):安装 Grid Server三、Docker 平台(Ubuntu 14.04):配置 Grid Server四、Docker 平台(Ubuntu 14.04):Robotframework 框架下,配置 Grid Server一、概述基于 Docker 集成 CI 环...原创 2018-11-06 14:26:31 · 1876 阅读 · 0 评论 -
Docker CI: Win7 下挂载Window目录到Docker容器
Docker CI: Win7 下挂载Window目录到Docker容器一、概述二、Docker 平台(Win7):安装配置Jenkins1. pull Jenkins 镜像2. 配置 Virtual Machine 共享文件夹3. Docker 运行Jenkins使用xshell登陆docker服务器切换为 root 用户,以 root 权限执行 "-u root"4. 配置Jenkins一、...原创 2018-10-23 14:06:52 · 4025 阅读 · 0 评论 -
Docker CI: 基于 Dockerfile 构建 HttpTestbed 新镜像
Docker CI: 基于 Dockerfile 构建 HttpTestbed 新镜像一、概述架构图如下:二、Docker 平台(Ubuntu 14.04):基于 Dockerfile 构建 HttpTestbed 新镜像三、查看并运行 kennethreitz/httpbin 镜像四、VNC Viewer 打开容器 httptest一、概述基于 Docker 集成 CI 环境。涉及技术:L...原创 2018-10-22 22:49:54 · 3218 阅读 · 0 评论 -
Docker CI: Httpbin 安装
Docker CI: Httpbin 安装一、概述架构图如下:二、Docker 平台(Ubuntu 14.04):安装 Httpbin一、概述基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, Python/Pytest, UI/Selenium, Robotframewo...原创 2018-10-21 22:37:45 · 1976 阅读 · 0 评论 -
Docker CI: Gitlab 安装与配置
Docker CI: Gitlab 安装与配置一、概述架构图如下:二、Docker 平台(Ubuntu 14.04):安装 Gitlab三、Docker 平台(Ubuntu 14.04):配置 Gitlab一、概述基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, Pyth...原创 2018-10-21 21:58:35 · 1467 阅读 · 0 评论 -
Docker CI: Jenkins 安装与配置
Docker CI: Jenkins 安装与配置一、概述架构图如下:二、Docker 平台(Ubuntu 14.04):安装 Jenknis二、Docker 平台(Ubuntu 14.04):配置 Jenknis一、概述基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, P...原创 2018-10-21 21:24:19 · 1456 阅读 · 0 评论 -
Docker: 添加中国源
Doker: 添加中国源概述Docker 源(Ubuntu 14.04):Docker 镜像(image)源(Ubuntu 14.04):Docker 容器(container)pip 源(Ubuntu 14.04):概述因为众所周知的原因,国外资源速度很慢。因此,需添加中国源,个人选择阿里的资源。Docker 源(Ubuntu 14.04):# sudo apt-get update#...原创 2018-10-21 18:03:18 · 2303 阅读 · 0 评论 -
Doker: 基于 Dockerfile 构建新镜像
Doker: 基于 Dockerfile 构建新镜像概述1. 创建 Dockerfile2. 创建镜像流程概述Docker 官方并不推荐使用 docker commit 的方法来构建镜像,而是推荐使用 Dockerfile 定义的文件和 docker build 命令来构建镜像。Dockerfile 使用基于 DSL 语法的指令来构建一个 Docker 镜像,之后使用 docker build...原创 2018-09-26 17:46:53 · 2409 阅读 · 0 评论 -
Docker 管理容器
Docker 管理容器概述一、删除容器(compose)二、容器(compose)保存为新镜像(image)删除镜像(image)概述当镜像被 docker run 命令创建时就会在镜像的最上层添加一个可写的层,也就是容器层,所有对于运行时容器的修改其实都是对这个容器读写层的修改。容器和镜像的区别就在于,所有的镜像都是只读的,而每一个容器其实等于镜像加上一个可读写的层,也就是同一个镜像可以对...原创 2018-09-20 23:08:12 · 1610 阅读 · 0 评论