基于Gitlab 的 CI/CD入门
CI/CD 中的“CI”始终指持续集成,它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。
CI/CD 中的“CD”指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。
Hello world
我们通过gitlab.com创建一个空项目用于CI/CD学习
在根目录下面添加 .gitlab-ci.yaml
build: stage: build script: - echo 'Hello, World'
这是一个简单的 "Hello World" 示例,上面的文件我们称为编排文件,编排文件中job为最小执行任务,我们的编排文件中目前只有一个任务
- 第一行的build为该job的名称
- 第二行表示该job的阶段
- 第三行下面的子节点为该任务的执行命令
运行效果
多个任务(job)
我们可以通过在.gitlab-ci.yaml
添加多个job来实现多任务编排,每个job可以指定不同的image
(Docker镜像)
build: stage: build image: image: node:10-alpine script: - npm -v - node -v - echo 'build done' test: stage: test script: - echo 'test done' deploy: stage: test script: - echo 'deploy done'
运行效果
简单应用
我们通过Create React App来创建一个简单的React工程并对该项目进行CI/CD
$ npx create-react-app test_ci
更新.gitlab-ci.yaml
如下
cache: paths: - node_modules build: image: node:10-alpine stage: build script: - yarn install - yarn build artifacts: paths: - build test: image: node:10-alpine stage: test script: - yarn test deploy: stage: deploy script: - ls build
上面的文件有两个新概念cache
与artifacts
cache
是一个跨任务的共享文件和文件夹的方式artifacts
是一个能够被下载的CI/CD附件
效果
点击下载后可以将构建后的静态资源下载到本地
我们可以通过serve
等命令运行后查看
相关推荐
cxin 2020-11-06
synshitou 2020-10-21
贤时间 2020-07-06
Topbeyond 2020-08-21
happyfreeangel 2020-07-27
白开水 2020-07-19
无风的雨 2020-07-08
wishli 2020-06-28
小信 2020-06-21
leehbhs 2020-06-20
happyfreeangel 2020-06-18
83284950 2020-06-17
冯冯领队 2020-06-16
就是那个胖子 2020-06-14
83284950 2020-06-14
LiHansiyuan 2020-06-14
fcds00 2020-06-11
就是那个胖子 2020-06-11