首页 > 技术文章 > gitlab中CI/CD过程中的坑

cn-coder 2020-08-04 21:50 原文

先上观点,azure的pipeline比gitlab ce版好用,gitlab收费版没有用过。

  1. 在.gitlab-ci.yml中的特殊字符处理:
    解决方法:
    cmd="[$var1] && true
    $cmd
  1. 在Script中,返回为空的语句执行错误
    如:
pid=`ps -ef|grep java|grep cnblog-1.0-SNAPSHOT.jar|awk '{print $2}'`

解决方法:
做成转本的脚本,如 restart.sh, 在Script中:

   bash restart.sh
  1. 一台host可以可以有多个executer

  2. 如果用的Docker runner,有需要操作Shell时,可以在Host上注册一个本地的非Docker runner,利用这个runner可以操作一些脚本。

  3. Docker runner 老是被部署完以后,在Gitlab中显示发版正常,但是Java进程确没有启动起来。原来是linux 启动配置错误,被系统Killer 了.请检查配置路径是否正确。

/etc/systemd/system/gitlab-ci-multi-runner.service

推荐阅读