GITLAB - CI 常用语法小记

include & reference

gitlab-ci/setup.gitlab-ci.yml

.set_envs:
  set_ssh: 
    - apt-get install -qq git
    - 'which ssh-agent || ( apt-get install -qq openssh-client )'
    - eval $(ssh-agent -s)
    - ssh-add <(echo "$SSH_PRIVATE_KEY")
    - mkdir -p $HOME/.ssh
    - echo -e "Host  code.xxx.yyy\n\tport 2222\n\tStrictHostKeyChecking no\n\n" > $HOME/.ssh/config
    - cat $HOME/.ssh/config

.integration_test_pipe:
    before_script:
        - pip install -r "$DEPENDS_PATH"
        - !reference [.set_envs, set_ssh]

引用

.run_task: &run_task
    - export CUDA_VISIBLE_DEVICES=0
    - export MASTER_PORT=29100 && dist_train.sh --cfg_file ${CFG_FILE} --work_dir=${INTEGRATION_WORK_DIR} --integration

extends

.integration_test_pipe:
    script:
        - *run_task

test_xxx:
    extends: .integration_test_pipe
    variables:
        CFG_FILE: configs/xxx.py

变量相关

模糊匹配

参考文档:http://blog.dhainidewo.com/gitlab/gitlab-ci-变量.html

例:$VARIABLE =~ /^content.*/,可以对变量使用正则表达式进行模式匹配,如果找到匹配,则为真。默认情况下,模式匹配区分大小写,使用i标志来不区分大小写,例:/pattern/i

相关推荐
AliCloudROS6 小时前
阿里云ACK+GitLab企业级部署实战教程
k8s·gitlab·helm·ack·计算巢
{⌐■_■}18 小时前
【gitlab】认识 持续集成与部署
ci/cd·log4j·gitlab
Karoku06619 小时前
【CI/CD】Jenkinsfile管理+参数化构建+邮件通知以及Jenkins + SonarQube 代码审查
运维·ci/cd·容器·kubernetes·jenkins·rancher
Incredibuild2 天前
深入了解 DevOps 基础架构:可追溯性的关键作用
ci/cd·devops
Karoku0662 天前
【CI/CD】持续集成及 Jenkins
运维·ci/cd·docker·云原生·容器·kubernetes·jenkins
drebander3 天前
Docker 与 CI/CD:自动化构建和部署
ci/cd·docker·自动化
躬身入世,以生证道3 天前
Java技术栈 —— CI/CD工具之Jenkins
java·ci/cd·jenkins
计算机毕设定制辅导-无忧学长4 天前
Docker 与持续集成 / 持续部署(CI/CD)的集成(一)
ci/cd·docker·容器
Long_poem4 天前
【自学笔记】版本控制与持续集成基础知识点总览-持续更新
笔记·ci/cd
小奏技术4 天前
github如何基于workflow实现自动集成测试提升代码质量
后端·ci/cd·开源