美文网首页
Gitlab CI/CD

Gitlab CI/CD

作者: 钱英俊真英俊 | 来源:发表于2019-03-01 14:58 被阅读0次

1.步骤

    1. 在可以访问git仓库的服务器部署Runner
    1. 在仓库配置.gitlab-ci.yml文件
    1. 在git仓库网页上配置对应的Runner

2. .gitlab-ci.yml配置

Keyword Require Description
script yes CI/CD过程中需要执行的shell脚本
stage no 一个job流程,默认test
variables no 定义变量
only no 指定当前job适用的git refs(分支、Tag)列表
except no 与only相反
tags no 通过标签管理或匹配runner
allow_failure no 指定当前job是否容错,正常job失败后会跳过后续job流程
before_script no 在当前job执行前的shell 脚本
after_script no 在当前job执行后执行的shell脚本
when no 依赖的上一个job执行什么状态后执行当前job
dependencies no 指定依赖的job列表,默认顺序执行

3. 实例

Test: // job的  name (必须)
  script: echo 'build' //    执行脚本 (必须)
  stage: build // 阶段

最简单的 gitlab-ci.yml 的配置。job的name和执行脚本是必须的。脚本是Linux下shell 命令

4. 说明

运行机制:

  • 1 在搭建gitlab 的服务器上运行runner
  • 2 每次push runner会检查.gitlab-ci.yml,并执行
  • 3 .gitlan-ci.yml 中的script 就会在gitlab服务器上的shell中执行,这时候就像在本地电脑中执行命令一样
  • 4 CI需要推送代码到远程服务器,这时候就需要配置 private key,使用ssh登录
 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
#运行ssh-agent(在构建环境中)
  -  eval $(ssh-agent -s )
#将存储在SSH_PRIVATE_KEY变量中的SSH密钥添加到代理存储
  -  ssh-add<(echo“$ SSH_PRIVATE_KEY”)
  -  mkdir -p〜/ .ssh 
  - '[[-f /.dockerenv]]&& echo -e“Host * \\\
\tStrictHostKeyChecking no\\\
\\\
”> 〜/ .ssh / config'

相关文章

网友评论

      本文标题:Gitlab CI/CD

      本文链接:https://www.haomeiwen.com/subject/tqbxuqtx.html