Add cases/ci travis

Signed-off-by: khs1994 <khs1994@khs1994.com>
This commit is contained in:
khs1994 2018-12-31 15:55:04 +08:00
parent 234ac706a3
commit efee23eca7
No known key found for this signature in database
GPG Key ID: 0A380828B1C243A7
4 changed files with 67 additions and 0 deletions

View File

@ -143,6 +143,7 @@
* [本章小结](cases/os/summary.md) * [本章小结](cases/os/summary.md)
* [实战案例-CI/CD](cases/ci/README.md) * [实战案例-CI/CD](cases/ci/README.md)
* [Drone](cases/ci/drone.md) * [Drone](cases/ci/drone.md)
* [Travis CI](cases/ci/travis.md)
* [Docker 开源项目](opensource/README.md) * [Docker 开源项目](opensource/README.md)
* [LinuxKit](opensource/linuxkit.md) * [LinuxKit](opensource/linuxkit.md)
* [附录](appendix/README.md) * [附录](appendix/README.md)

View File

@ -0,0 +1,16 @@
language: bash
dist: xenial
services:
- docker
before_script:
- 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

View File

@ -0,0 +1,3 @@
FROM alpine
RUN echo "Hello World"

47
cases/ci/travis.md Normal file
View File

@ -0,0 +1,47 @@
## 在 Travis CI 中使用 Docker
当代码提交到 GitHub 时,[Travis CI](https://travis-ci.com/) 会根据项目根目录 `.travis.yml` 文件设置的指令,执行一系列操作。
本小节介绍如何在 Travis CI 中使用 Docker 进行持续集成/持续部署CI/CD。这里以当代码提交到 GitHub 时自动构建 Docker 镜像并推送到 Docker Hub 为例进行介绍。
### 准备
首先登录 https://travis-ci.com/account/repositories 选择 GitHub 仓库,按照指引安装 GitHub App 来启用 GitHub 仓库构建。
在项目根目录新建一个 `Dockerfile` 文件。
```dockerfile
FROM alpine
RUN echo "Hello World"
```
新建 Travis CI 配置文件 `.travis.yml` 文件。
```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
```
> 请提前在 Travis CI 仓库设置页面配置 `DOCKER_PASSWORD` `DOCKER_USERNAME` 变量
### 查看结果
将项目推送到 GitHub, 登录 [Travis CI](https://travis-ci.com/) 查看构建详情。