gitlab中CI/CD过程中的坑
先上观点,azure的pipeline比gitlab ce版好用,gitlab收费版没有用过。
- 在.gitlab-ci.yml中的特殊字符处理:
解决方法:
cmd="[$var1] && true
$cmd
- 在Script中,返回为空的语句执行错误
如:
pid=`ps -ef|grep java|grep cnblog-1.0-SNAPSHOT.jar|awk '{print $2}'`
解决方法:
做成转本的脚本,如 restart.sh, 在Script中:
bash restart.sh
-
一台host可以可以有多个executer
-
如果用的Docker runner,有需要操作Shell时,可以在Host上注册一个本地的非Docker runner,利用这个runner可以操作一些脚本。
-
Docker runner 老是被部署完以后,在Gitlab中显示发版正常,但是Java进程确没有启动起来。原来是linux 启动配置错误,被系统Killer 了.请检查配置路径是否正确。
/etc/systemd/system/gitlab-ci-multi-runner.service