# 在 Travis CI 中使用 Docker

当代码提交到 GitHub 时,Travis CI (opens new window) 会根据项目根目录 .travis.yml 文件设置的指令,执行一系列操作。

本小节介绍如何在 Travis CI 中使用 Docker 进行持续集成/持续部署(CI/CD)。这里以当代码提交到 GitHub 时自动构建 Docker 镜像并推送到 Docker Hub 为例进行介绍。

# 准备

首先登录 https://travis-ci.com/account/repositories (opens new window) 选择 GitHub 仓库,按照指引安装 GitHub App 来启用 GitHub 仓库构建。

在项目根目录新建一个 Dockerfile 文件。

FROM alpine

RUN echo "Hello World"
1
2
3

新建 Travis CI 配置文件 .travis.yml 文件。

language: bash

dist: xenial

services:
  - docker

before_script:
  # 登录到 docker hub
  - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin

script:
  # 这里编写测试代码的命令
  - echo "test code"

after_success:
  # 当代码测试通过后执行的命令
  - docker build -t username/alpine .
  - docker push username/alpine
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

请提前在 Travis CI 仓库设置页面配置 DOCKER_PASSWORD DOCKER_USERNAME 变量

# 查看结果

将项目推送到 GitHub,登录 Travis CI (opens new window) 查看构建详情。