.gitlab-ci.yml Override Variable Defined in appsetings.json
我正在尝试通过在.gitlab-ci.yml文件中定义它们来替换AspnetCore使用的env变量。
appsettings.json文件如下所示:
1 2 3 | "ConnectionStrings": { "DatabaseConnection":"my-connection-string" }, |
这是我尝试过的一些事情。
无效的Yml:
1 2 | ConnectionStrings: DatabaseConnection:"my-connection-string" |
有效的yml(无效):
1 2 | "ConnectionStrings:DatabaseConnection":"my-connection-string" "ConnectionStrings::DatabaseConnection":"my-connection-string" |
对于最后两个错误,如您所见,它全部转换为一个长字符串,而不是env变量的键值对:
/bin/bash: line 87: export:
`ConnectionStrings::DatabaseConnection=Server=mssql,1433;Database=MyDatabase;User
Id=SA;Password=MyPassword;Trusted_Connection=False;MultipleActiveResultSets=True':
not a valid identifier
我正在将Linux运行程序用于CI。
好像您正在根据环境尝试替换数据库连接。您可以使用一些策略,例如配置变量
1 2 3 | "ConnectionStrings": { "DatabaseConnection":"$CONNECT_ENV" }, |
在每个环境中,例如
1 2 | variables: CONNECT_INT :"ConnectionStrings::DatabaseConnection=Server=mssql,1433;Database=DB_INTEGRATION_PROD;User Id=SA;Password=MyPassword;Trusted_Connection=False;MultipleActiveResultSets=True" |
或者每个环境
或者您可以使用shell命令替换连接字符串。 https://unix.stackexchange.com/questions/226005/how-can-i-replace-a-specific-string-within-a-line-inside-a-text-file
我们正在使用的真实项目的示例1
[一个项目的实际例子] 1