gitlab CICD获取不到系统环境变量

1.背景

公司使用GitLab作为代码版本管理平台,使用GitLab自带的CI/CD做持续集成。今天我需要重新部署一个新项目的环境,然后利用CI/CD进行发布。但是gitlab-runner执行过程中报了如下错误。CI/CD报错信息

2.解决

我们是使用ssh公私钥方式认证来远程执行脚本的,这里的报错是说远程连接不上目标服务器,然后我去这个gitlab-runner所在的服务器手动使用ssh连接nginx服务器是可以连接上的,如下。

在测试服主机上直接ssh是可以访问的

既然直接在gitilab-runner所在服务器上使用ssh命令可以连接上,那说明ssh公私钥登录的配置是没有问题的。那么问题应该是出在gitlabCI/CD配置上,我去其他项目进行了一下打包发布,发现是可以执行成功的(其他项目的发布流程都是使用tagdeploygitlab-runner,脚本内容也基本一致)。那感觉配置的.gitlab-ci.yml应该内容也没有问题。因此我猜测是项目的配置出了错,于是我在脚本里打印了$NGINX_REMOTE这个变量,发现并没有打印出内容,说明没有获取到这个变量的内容。但是我看项目中是配置了这个变量的,并且编辑这个变量也有值。

GitLab环境变量中配置了这个变量

但是发现这个变量是一个保护变量。受保护的变量只有在受保护的分支或者tag上才能获取到。因为我是打tag的方式运行的CI/CD,然后去

设置-仓库-Protected tags中设置受保护分支的匹配规则,再按照这个匹配规则建立新的分支,就可以在CI/CD中获取这个变量了
在GitLab中配置受保护tag规则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值