AAROC.CODE-RADE-build-containers

DOI
License
Build Status

CODE-RADE 构建容器

使用的角色

该仓库包含用于构建 CODE-RADE 构建从属容器的 Ansible-Container 代码。它使用了来自 Ansible Galaxy 的 AAROC.CODE-RADE-container 角色。

容器

这些容器使用 Ansible Container 构建,并存储在 quay.io。我们构建了以下基础镜像:

镜像 状态
CentOS 6 Docker Repository on Quay
Ubuntu 14.04 Docker Repository on Quay
CentOS 7 Docker Repository on Quay
Ubuntu 16.10 Docker Repository on Quay

这些容器可以通过从 quay.io 拉取来使用,例如:

docker pull quay.io/aaroc/code-rade-ubuntu1610

容器中添加了一个用户、JDK 和 Jenkins 的 SSH Daemon,以及一些 CODE-RADE 的秘密配置:

  • ci 模块文件,设置了一些变量:
    • $SOFT_DIR:CI 环境的软件安装路径
      setenv SOFT_DIR /data/ci-build/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $REPO_DIR:CI 环境中构建的工件(以 tarball 形式)
      setenv REPO_DIR /data/artefacts/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $SRC_DIR:源 tarball 的本地缓存
      setenv SRC_DIR /data/src/$::env(NAME)/$::env(VERSION)
    • $MODULES:CI 环境中模块文件的路径
      set MODULES /data/modules
  • deploy 模块文件,设置与上述相同的变量,但 $SOFT_DIR 的根目录位于 /cvmfs
  • 一个数据容器 (CODE-RADE-data) 用于在构建之间持久化数据,并使构建具有可移植性。

数据容器

我们使用 数据容器模式 来提供构建工件的持久化,跨作业使用。这些在仅针对 Docker 的 container.yml 中表达。

构建

要构建容器,只需执行:

ansible-container --project-name code-rade build --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --use-local-python

推送到镜像注册处

container.yml 中包含了使用的注册表的规范。我们默认使用 quay。要将构建的镜像推送到注册表,以便另一个构建站点能使用,执行:

ansible-container --project-name code-rade push --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --push-to quay --tag latest

运行

这些容器旨在由 CI 系统自动配置。默认的入口点为端口 5200 上的 SSH。

您可以用它们在本地检查构建。要运行它们,请执行:

ansible-container --project-name code-rade run --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/

然后通过 SSH 连接到正在运行的容器:

ssh jenkins@172.17.0.2 -p 5200

部署

如前所述,这些容器是用于从 CI 环境中进行配置的。如果您确实想要运行一个静态构建集群,可以使用 Ansible Container 的 --deploy 命令。有关部署选项,请参见 https://docs.ansible.com/ansible-container/reference/deploy.html

引用

如果您产生了研究或其他输出,而这些容器是该工作流程的一部分,请引用如下:
Bruce Becker. (2017). AAROC/CODE-RADE-build-containers: CODE-RADE Foundation Release 3 - Build Containers [数据集]. Zenodo. http://doi.org/10.5281/zenodo.572275

关于项目

Describe your awesome application here.

安装
ansible-galaxy install AAROC.CODE-RADE-build-containers
许可证
apache-2.0
下载
183