gpt4 book ai didi

ubuntu - 如何使用 Travis CI 在一个 .travis.yml 文件中同时测试 Ubuntu 14.04 LTS 和 CentOS7?

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:25 28 4
gpt4 key购买 nike

我有一些 ansible 剧本,我想在两个不同的 Linux 发行版上进行测试。 (Ubuntu 14.04 LTS 和 CentOS 7)

我了解如何配置 .travis.yml 以在 Ubuntu 14.04 上进行测试,因为 TravisCI 为 Ubuntu 提供了一个内置容器。

对于 CentOS 7,我知道我需要使用 Docker 在 TravisCI 中构建 CentOS 7 容器,以便我可以在 CentOS 上测试我的代码。

此外,我知道如何通过使用 matrix 一起测试 CentOS 6 和 CentOS7。

但是,我不知道如何用两个构建进行一个测试,一个在 Ubuntu 14.04 LTS 上,另一个在 CenOS 7 上。所以我可以一次测试两个不同的 Linux 发行版

.travis.yml 的任何提示或示例都可以说明我想要的内容,我们将不胜感激!

最佳答案

一般来说,像这样的东西会为你的 Travis CI 工作提供一个同时适用于 Ubuntu 14.04 和 CentOS7 的容器:

# setup environment
dist: trusty
sudo: required
language: python

# setup container matrix
matrix:
include:
- env: OS='ubuntu:14.04'
- env: OS='centos:7'

before_install:
- docker pull $OS

install:
- docker run -d $OS /bin/sh -c "provision container if you do not have a prebuilt image and are instead using base images"

script:
- docker run -d $OS /bin/sh -c "ansible tests"

这会让您使用 Travis CI 在两个操作系统上进行测试。

但是,使用 Molecule 可能会更容易:https://molecule.readthedocs.io/en/latest/

您可以在 molecule/scenario/tests/molecule.yml 中为两者指定 Docker 镜像,在 install: 中的 Travis CI 中安装 molecule,然后只需 molecule test 在您的 script 中:为您完成繁重的工作。

更新:Travis 发布了一篇关于此主题的博客文章,他们在其中使用了我上面概述的方法。查看更多信息:https://blog.travis-ci.com/2017-11-30-testing-ansible-roles-using-docker-on-travis

关于ubuntu - 如何使用 Travis CI 在一个 .travis.yml 文件中同时测试 Ubuntu 14.04 LTS 和 CentOS7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47557095/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com