您可以使用矩阵扩展仅在某些作业上运行脚本吗?

时间:2019-10-20 11:30:08

标签: docker travis-ci

我想知道是否可以使用矩阵扩展仅在特定作业上运行某些脚本。用例,我正在为多个PHP版本构建docker映像,并且仅在特定版本上,我想添加一些额外的docker映像标签。现在我正在这样做:

language: bash
services: docker

env:
  - PHP_VERSION=7.2
  - PHP_VERSION=7.3

before_script:
  - env | sort
  - IMAGE="nginx-php:${PHP_VERSION}"
  - HUB_IMAGE=${HUB_USERNAME}/${IMAGE}

script:
  - docker pull ${HUB_IMAGE} || true
  - |
    (
      set -Eeuo pipefail
      set -x
      docker build -t ${IMAGE} --build-arg PHP_VERSION=${PHP_VERSION} --pull --cache-from ${HUB_IMAGE} .
      docker images
      echo ${HUB_PASSWORD} | docker login -u ${HUB_USERNAME} --password-stdin
      docker tag ${IMAGE} ${HUB_IMAGE}
      docker push ${HUB_IMAGE}
    )
  - |
    if [ ${PHP_VERSION} == "7.3" ]; then
      docker tag ${IMAGE} ${HUB_USERNAME}/nginx-php:7;
      docker tag ${IMAGE} ${HUB_USERNAME}/nginx-php:latest;
      docker push ${HUB_USERNAME}/nginx-php:7;
      docker push ${HUB_USERNAME}/nginx-php:latest;
    fi

最后一个脚本部分似乎可以做得更好,但是我并没有在文档中找到任何东西。

0 个答案:

没有答案