美文网首页
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