Travis CI

Build stages:

Stages can run mutiple jobs at the same time, and it can only move to next stage if the jobs in last stages successfully finished.

How to define Build Stages? 

Here’s how you’d set up the build configuration for this in your .travis.yml file:

jobs:
  include:
    - stage: test
      script: ./test 1
    - # stage name not required, will continue to use `test`
      script: ./test 2
    - stage: deploy
      script: ./deploy

You can specify the order for stages in the section stages:

stages:
  - compile
  - test
  - deploy


This following example has 2 build stages:

  • One job builds and pushes a Docker image
  • Two jobs that pull and test the image

Here’s what the .travis.yml config could look like:

sudo: true
dist: trusty

jobs:
  include:
    - stage: build docker image
      script:
      - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
      - docker build -t travis-ci-build-stages-demo .
      - docker images
      - docker tag travis-ci-build-stages-demo $DOCKER_USERNAME/travis-ci-build-stages-demo
      - docker push $DOCKER_USERNAME/travis-ci-build-stages-demo
    - stage: test
      script: docker run --rm $DOCKER_USERNAME/travis-ci-build-stages-demo cat hello.txt
    - script: docker run --rm $DOCKER_USERNAME/travis-ci-build-stages-demo cat hello.txt
 
posted @ 2018-06-09 05:14  anyu686  阅读(146)  评论(0编辑  收藏  举报