有没有办法限制具有特定git标签的检查上的circleci部署?
目前我正在使用这个
...
deployment:
dockerhub:
branch: master
commands:
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
- docker push abcdef
Run Code Online (Sandbox Code Playgroud)
而不是branch: master我想写的东西tag: /release_.*/
背景:我想根据git标签设置docker标签.因此,例如,无论何时提交某些东西,latest都会创建并推送带有标记的新docker图像.每当设置特殊的git标签时(例如release_1.0_2015-06-13),1.0将创建并推送带有标签的新docker镜像.
替代方案是仅根据不同的标签使用不同的分支.但我想使用标签来标记特定版本.
我有一个包含可能为空的对象的变量。尝试调用方法时,我必须检查null。如果变量为null,我希望结果为false。对此有什么好的和易读的样式?
例如
class MyClass {
bool boolMethod() {
return true;
}
}
void main() {
MyClass mc = new MyClass();
MyClass mcnull = null;
bool val1 = mc?.boolMethod();
bool val1null = mcnull?.boolMethod();
bool val2 = mc != null && mc.boolMethod();
bool val2null = mcnull != null && mcnull.boolMethod();
}
Run Code Online (Sandbox Code Playgroud)
特别是在if语句中使用时,我认为第一个版本更具可读性:
if (mc?.boolMethod())...
Run Code Online (Sandbox Code Playgroud)
与
if (mc != null && mc.boolMethod())...
Run Code Online (Sandbox Code Playgroud)
但是IntelliJ给了我提示'?。'的值。运算符可以为“ null”,不适合作为局部运算符的操作数。(null_aware_in_logical_operator)。好的-这是正确的,因为当变量为null时,我将null用作布尔值。但这对我来说还可以,我尽量避免抑制警告。
建议的方法是什么?还有其他想法吗?