如何使用 Travis-CI 在 CentOS 7 上运行测试?

2024-01-24

我尝试使用Travis-CI 在 CentOS 7 上测试我的 ansible playbook https://github.com/weldpua2008/ansible-apache/blob/fe6e77d5d389ed6005a7b90e0b15a8752609cbdc/.travis.yml.

我收到一个错误:错误:在文件 /usr/sbin/suexec: cpio: cap_set_file 上解压存档失败。 https://travis-ci.org/weldpua2008/ansible-apache/jobs/79907720#L58

我还安装了 docker:

curl -sSL https://get.docker.com/ | sh

在我的 Ubuntu 上:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:        14.04
Codename:       trusty

但有这个错误:

#docker run --rm=true -ti centos:7 /bin/bash
[root@08bf52d53465 /]#
[root@ca03cf7a13e2 /]# yum install httpd -y
Loaded plugins: fastestmirror
base                                                                                                  | 3.6 kB  00:00:00
extras                                                                                                | 3.4 kB  00:00:00
updates                                                                                               | 3.4 kB  00:00:00
(1/4): extras/7/x86_64/primary_db                                                                     |  74 kB  00:00:00
(2/4): base/7/x86_64/group_gz                                                                         | 154 kB  00:00:01
(3/4): updates/7/x86_64/primary_db                                                                    | 3.3 MB  00:00:06
(4/4): base/7/x86_64/primary_db                                                                       | 5.1 MB  00:00:06
Determining fastest mirrors
 * base: mirror.nonstop.co.il
 * extras: centos.joinweb.co.il
 * updates: centos.joinweb.co.il
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-31.el7.centos.1 will be installed
--> Processing Dependency: httpd-tools = 2.4.6-31.el7.centos.1 for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: system-logos >= 7.92.1-1 for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package centos-logos.noarch 0:70.0.6-2.el7.centos will be installed
---> Package httpd-tools.x86_64 0:2.4.6-31.el7.centos.1 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================
 Package                       Arch                    Version                                Repository                Size
=============================================================================================================================
Installing:
 httpd                         x86_64                  2.4.6-31.el7.centos.1                  updates                  2.7 M
Installing for dependencies:
 apr                           x86_64                  1.4.8-3.el7                            base                     103 k
 apr-util                      x86_64                  1.5.2-6.el7                            base                      92 k
 centos-logos                  noarch                  70.0.6-2.el7.centos                    updates                   21 M
 httpd-tools                   x86_64                  2.4.6-31.el7.centos.1                  updates                   79 k
 mailcap                       noarch                  2.1.41-2.el7                           base                      31 k

Transaction Summary
=============================================================================================================================
Install  1 Package (+5 Dependent packages)

Total download size: 24 M
Installed size: 32 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/base/packages/apr-1.4.8-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for apr-1.4.8-3.el7.x86_64.rpm is not installed
(1/6): apr-1.4.8-3.el7.x86_64.rpm                                                                     | 103 kB  00:00:00
(2/6): mailcap-2.1.41-2.el7.noarch.rpm                                                                |  31 kB  00:00:00
(3/6): apr-util-1.5.2-6.el7.x86_64.rpm                                                                |  92 kB  00:00:00
Public key for httpd-tools-2.4.6-31.el7.centos.1.x86_64.rpm is not installed               ] 559 kB/s | 764 kB  00:00:43 ETA
(4/6): httpd-tools-2.4.6-31.el7.centos.1.x86_64.rpm                                                   |  79 kB  00:00:01
(5/6): httpd-2.4.6-31.el7.centos.1.x86_64.rpm                                                         | 2.7 MB  00:00:03
(6/6): centos-logos-70.0.6-2.el7.centos.noarch.rpm                                                    |  21 MB  00:00:16
-----------------------------------------------------------------------------------------------------------------------------
Total                                                                                        1.5 MB/s |  24 MB  00:00:16
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected] /cdn-cgi/l/email-protection>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-1.1503.el7.centos.2.8.x86_64 (@CentOS)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : apr-1.4.8-3.el7.x86_64                                                                                    1/6
  Installing : apr-util-1.5.2-6.el7.x86_64                                                                               2/6
  Installing : httpd-tools-2.4.6-31.el7.centos.1.x86_64                                                                  3/6
  Installing : mailcap-2.1.41-2.el7.noarch                                                                               4/6
  Installing : centos-logos-70.0.6-2.el7.centos.noarch                                                                   5/6
  Installing : httpd-2.4.6-31.el7.centos.1.x86_64                                                                        6/6
Error unpacking rpm package httpd-2.4.6-31.el7.centos.1.x86_64
error: unpacking of archive failed on file /usr/sbin/suexec: cpio: cap_set_file
error: httpd-2.4.6-31.el7.centos.1.x86_64: install failed
  Verifying  : centos-logos-70.0.6-2.el7.centos.noarch                                                                   1/6
  Verifying  : apr-1.4.8-3.el7.x86_64                                                                                    2/6
  Verifying  : mailcap-2.1.41-2.el7.noarch                                                                               3/6
  Verifying  : apr-util-1.5.2-6.el7.x86_64                                                                               4/6
  Verifying  : httpd-tools-2.4.6-31.el7.centos.1.x86_64                                                                  5/6
  Verifying  : httpd-2.4.6-31.el7.centos.1.x86_64                                                                        6/6

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7                      apr-util.x86_64 0:1.5.2-6.el7    centos-logos.noarch 0:70.0.6-2.el7.centos
  httpd-tools.x86_64 0:2.4.6-31.el7.centos.1    mailcap.noarch 0:2.1.41-2.el7

Failed:
  httpd.x86_64 0:2.4.6-31.el7.centos.1

Complete!
[root@ca03cf7a13e2 /]#

我创建了“特殊”docker 镜像,其中包含 Ansiblehttps://github.com/weldpua2008/docker-ansible/blob/ansible_1.9.2/centos/7/Dockerfile https://github.com/weldpua2008/docker-ansible/blob/ansible_1.9.2/centos/7/Dockerfile

是否有可能在 CentOS 7 上运行 ansible playbook 测试?

所以我更新了 /etc/default/docker :

DOCKER_OPTS="-s devicemapper"

重新启动码头工人: 服务docker重启

docker run --rm=true -ti centos:7 /bin/bash

[root@16702cbf3f2c /]# yum install -y httpd
Loaded plugins: fastestmirror
base                                                                                                  | 3.6 kB  00:00:00
extras                                                                                                | 3.4 kB  00:00:00
systemdcontainer                                                                                      | 1.9 kB  00:00:00
updates                                                                                               | 3.4 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                                                         | 154 kB  00:00:03
(2/4): extras/7/x86_64/primary_db                                                                     |  74 kB  00:00:04
(3/4): updates/7/x86_64/primary_db                                                                    | 3.3 MB  00:01:10
(4/4): base/7/x86_64/primary_db                                                                       | 5.1 MB  00:01:22
systemdcontainer/primary_db                                                                           |  20 kB  00:00:01
Determining fastest mirrors
 * base: centos.syn.co.il
 * extras: centos.syn.co.il
 * updates: centos.syn.co.il
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-31.el7.centos.1 will be installed
--> Processing Dependency: httpd-tools = 2.4.6-31.el7.centos.1 for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: system-logos >= 7.92.1-1 for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-31.el7.centos.1.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package centos-logos.noarch 0:70.0.6-2.el7.centos will be installed
---> Package httpd-tools.x86_64 0:2.4.6-31.el7.centos.1 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================
 Package                       Arch                    Version                                Repository                Size
=============================================================================================================================
Installing:
 httpd                         x86_64                  2.4.6-31.el7.centos.1                  updates                  2.7 M
Installing for dependencies:
 apr                           x86_64                  1.4.8-3.el7                            base                     103 k
 apr-util                      x86_64                  1.5.2-6.el7                            base                      92 k
 centos-logos                  noarch                  70.0.6-2.el7.centos                    updates                   21 M
 httpd-tools                   x86_64                  2.4.6-31.el7.centos.1                  updates                   79 k
 mailcap                       noarch                  2.1.41-2.el7                           base                      31 k

Transaction Summary
=============================================================================================================================
Install  1 Package (+5 Dependent packages)

Total download size: 24 M
Installed size: 32 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/updates/packages/httpd-tools-2.4.6-31.el7.centos.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for httpd-tools-2.4.6-31.el7.centos.1.x86_64.rpm is not installed
(1/6): httpd-tools-2.4.6-31.el7.centos.1.x86_64.rpm                                                   |  79 kB  00:00:03
Public key for apr-util-1.5.2-6.el7.x86_64.rpm is not installed
(2/6): apr-util-1.5.2-6.el7.x86_64.rpm                                                                |  92 kB  00:00:04
(3/6): mailcap-2.1.41-2.el7.noarch.rpm                                                                |  31 kB  00:00:02
(4/6): apr-1.4.8-3.el7.x86_64.rpm                                                                     | 103 kB  00:00:06
(5/6): httpd-2.4.6-31.el7.centos.1.x86_64.rpm                                                         | 2.7 MB  00:00:52
(6/6): centos-logos-70.0.6-2.el7.centos.noarch.rpm                                                    |  21 MB  00:01:11
-----------------------------------------------------------------------------------------------------------------------------
Total                                                                                        349 kB/s |  24 MB  00:01:11
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected] /cdn-cgi/l/email-protection>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-1.1503.el7.centos.2.8.x86_64 (@CentOS)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : apr-1.4.8-3.el7.x86_64                                                                                    1/6
  Installing : apr-util-1.5.2-6.el7.x86_64                                                                               2/6
  Installing : httpd-tools-2.4.6-31.el7.centos.1.x86_64                                                                  3/6
  Installing : mailcap-2.1.41-2.el7.noarch                                                                               4/6
  Installing : centos-logos-70.0.6-2.el7.centos.noarch                                                                   5/6
  Installing : httpd-2.4.6-31.el7.centos.1.x86_64                                                                        6/6
  Verifying  : centos-logos-70.0.6-2.el7.centos.noarch                                                                   1/6
  Verifying  : apr-1.4.8-3.el7.x86_64                                                                                    2/6
  Verifying  : mailcap-2.1.41-2.el7.noarch                                                                               3/6
  Verifying  : apr-util-1.5.2-6.el7.x86_64                                                                               4/6
  Verifying  : httpd-tools-2.4.6-31.el7.centos.1.x86_64                                                                  5/6
  Verifying  : httpd-2.4.6-31.el7.centos.1.x86_64                                                                        6/6

Installed:
  httpd.x86_64 0:2.4.6-31.el7.centos.1

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7                      apr-util.x86_64 0:1.5.2-6.el7    centos-logos.noarch 0:70.0.6-2.el7.centos
  httpd-tools.x86_64 0:2.4.6-31.el7.centos.1    mailcap.noarch 0:2.1.41-2.el7

Complete!

如果有可能在 Travis CI 上做同样的事情。我在说明书上没找到http://docs.travis-ci.com/user/docker/ http://docs.travis-ci.com/user/docker/ .

我无法编辑 docker 设置https://travis-ci.org/weldpua2008/ansible-apache/jobs/79963906#L29 https://travis-ci.org/weldpua2008/ansible-apache/jobs/79963906#L29:

$ echo 'DOCKER_OPTS="-s devicemapper"' >> /etc/default/docker; service docker restart
/home/travis/build.sh: line 41: /etc/default/docker: Permission denied
/etc/init.d/docker: 38: .: Can't open /etc/default/docker

由于 Travis CI Docker 错误,可以使用新版本的 Docker。感谢 Travis CI 团队的 Dominic Jodoin。 .travis.yml:

sudo: required
env:
  #matrix:
  - OS_TYPE=centos OS_VERSION=6 ANSIBLE_VERSION=1.9.2

branches:
  only:
  - master
#  - stable

services:
  - docker

before_install:
  - sudo apt-get update
  - sudo apt-get upgrade lxc-docker
  - echo 'DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock -s devicemapper"' | sudo tee /etc/default/docker > /dev/null
  - sudo service docker restart
  - sleep 5
  - sudo docker pull weldpua2008/docker-ansible:${OS_TYPE}${OS_VERSION}_v${ANSIBLE_VERSION}

script:
 # Run tests in Container
 - sudo docker run --rm=true -v `pwd`:/ansible-apache:rw weldpua2008/docker-ansible:${OS_TYPE}${OS_VERSION}_v${ANSIBLE_VERSION} /bin/bash -c "/ansible-apache/tests/test-in-docker-image.sh ${OS_TYPE} ${OS_VERSION} ${ANSIBLE_VERSION}"

notifications:
  email: false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Travis-CI 在 CentOS 7 上运行测试? 的相关文章

随机推荐

  • 在 PySide6 中使用 GraphicalEffects

    我正在使用 PySide6 并尝试使用 GraphicalEffects 模块 根据此处的文档 https doc qt io qt 6 qtgraphicaleffects5 index html https doc qt io qt 6
  • 动画排序堆积条形图 d3.js

    我想要制作一种堆积条形图的动画这个图表 http bl ocks org mbostock 3886208参数如下这个图表 http bl ocks org mbostock 3885705 我成功地对 x 轴进行了排序 但我没有成功地移动
  • 错误:phonegap 中缺少 config.xml

    我的电话间隙有问题 我正在phonegap 中开发一个项目 几天前它就已经运行了 现在 当我尝试运行同一个应用程序时 我得到了 ERROR config xml is missing Add res xml plugins xml to y
  • NumPy 中的索引:访问所有其他组的值

    The n numpy 中的索引选项提供了一种非常有用的方法来索引列表中的每个第 n 项 但是 是否可以使用此功能来提取多个值 例如所有其他pair的价值观 例如 a np array 0 1 2 3 4 5 6 7 8 9 10 11 我
  • Mongoose 查询大于或小于某个日期的嵌套文档

    如何查询大于或小于特定日期的评论 这是我的带有帖子模型和评论模型的架构 var mongoose require mongoose var should require should mongoose connect localhost t
  • 从 bash 脚本中的 URL 中提取文件名和路径

    在我的 bash 脚本中 我只需要从给定的 URL 中提取路径 例如 从包含字符串的变量 我只想提取到其他变量 one more dir file exe 部分 当然 登录名 密码 文件名和参数是可选的 由于我是 sed 和 awk 的新手
  • Scalaz:“scalaz.syntax.applicative._”如何发挥其魔力

    这个问题与this one https stackoverflow com questions 38524384 reader monad in scala return local and sequence 我试图了解如何在 Scala
  • 自动更新带有 TFS 修订版的文件?

    我对 TFS 很陌生 实际上我只是使用它 因为我在 CodePlex 上有一些项目并且不想通过 svnbridge 并且我正在寻找与 SVN 中的 Revision 参数等效的东西 本质上在结帐时 我想更新一个文件以包含最新的修订号 以显示
  • Python Pandas:如何将成对映射列表转换为行向量格式?

    我有一个 2 列 DataFrame column 1 对应于客户 column 2 对应于该客户访问过的城市 数据框如下所示 print df customer visited city 0 John London 1 Mary Melb
  • 为什么我们需要为 Option 变量调用 take()

    在这段代码中 pub struct Post state Option
  • 所有表的层次结构列表

    在 SQL Server 数据库中 我必须找到所有 主 父 表并构建一个 父 子表的层次结构列表 最后我想遍历那个层次结构 从下往上列出并删除最后我可以删除的所有子表数据 父数据也 我尝试过一种方式 即使用系统表 如 sys objects
  • Protractor 中的自定义浏览器操作

    问题 在我们的一项测试中 我们有一个 长按 单击并按住 功能 https stackoverflow com questions 27300433 protractorangularjsjasmine test press and hold
  • 构建可在 Windows 和 OS X 上运行的 .NET 应用程序安装程序?

    我很惊讶我找不到这个问题已经被问过 所以如果我只是错过了它 请立即通知 我需要在 NET 中编写一个非常小 相当简单的应用程序 最终消费者将下载该应用程序并将其安装在他们的系统上 Silverlight 的沙盒模型将无法工作 它必须是完整下
  • 导入错误:没有名为 sqlalchemy 的模块

    我无法在 python 中找到模块 尽管 easy install 说它已经安装了 知道如何解决这个问题吗 python c from flaskext sqlalchemy import SQLAlchemy Traceback most
  • 刷新后的Whitelabel错误页面

    我有 Spring Boot 应用程序 后端 对于前端 我使用 Angular 2 单页应用程序 每当我导航到路线 例如 localhost 8080 getAccounts 并在导航后刷新时 我都会收到 Whitelabel 错误页面 如
  • 锚标记中的上标无法正常工作

    我有一个链接和链接名称中的上标 我得到了上标 但它与下划线一起移到了顶部 因为它是一个链接 我试图将下划线保留在标题所在的位置 只抬起上标 但没有想法 我尝试了一种技巧 但它仅适用于谷歌浏览器 这是我的代码 a href http www
  • cordova 3.4.0安装错误

    我正在尝试在科尔多瓦创建项目 但出现以下错误 C xampp htdocs tagcordova sample gt cordova d platform add android Platform android not recognize
  • 为什么“volumeAvailableCapacityForImportantUsage”为零?

    我正在关注苹果的记录示例 https developer apple com documentation foundation urlresourcekey checking volume storage capacity了解如何查询我的设
  • CSS 内容属性不显示

    我是 CSS 新手 我正在遵循一本书的示例 我从书中复制了以下内容并将其另存为 HTML 除了不显示的 content 属性之外 所有 css 属性似乎都可以工作 提前致谢
  • 如何使用 Travis-CI 在 CentOS 7 上运行测试?

    我尝试使用Travis CI 在 CentOS 7 上测试我的 ansible playbook https github com weldpua2008 ansible apache blob fe6e77d5d389ed6005a7b9