是否有任何方法可以在构建期间强制构建参数docker build?如果缺少参数,预期的行为将是构建失败.
例如,对于以下Dockerfile:
FROM ubuntu
ARG MY_VARIABLE
ENV MY_VARIABLE $MY_VARIABLE
RUN ...
Run Code Online (Sandbox Code Playgroud)
我希望构建在构建时失败,并ARG MY_VARIABLE在构建时docker build -t my-tag .传递docker build -t my-tag --build-arg MY_VARIABLE=my_value ..
有没有办法实现这种行为?在我的情况下,设置默认值并不能真正起到作用.
(我跑泊坞窗1.11.1上darwin/amd64.)
编辑:我能想到的一种方法是运行一个MY_VARIABLE空的命令,例如:
FROM ubuntu
ARG MY_VARIABLE
RUN test -n "$MY_VARIABLE"
ENV MY_VARIABLE $MY_VARIABLE
RUN ...
Run Code Online (Sandbox Code Playgroud)
但它似乎并不是解决手头问题的非常惯用的解决方案.
我有一个双重问题涉及我认为是不正确的Javascript代码.
如何在Javascript中解释以下语句,为什么?
(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
为什么这两个调用之间存在差异:
var a = (1,2,3,4);
a();
Run Code Online (Sandbox Code Playgroud)
这导致a等于4和Uncaught TypeError: a is not a function被抛出,和
(1,2,3,4)();
Run Code Online (Sandbox Code Playgroud)
哪个导致Uncaught TypeError: (((1 , 2) , 3) , 4) is not a function?
我试图跟随约翰爸爸的AngularJs 1.x的风格指南(组织测试)和地方*.spec.js文件(使用噶执行)旁边的客户端代码,这会导致文件,如some.filter.js和some.filter.spec.js旁边彼此之间的地方.
但是,我需要避免的是包含*.spec.js资产管道中的文件.
我现在看到的唯一选项是避免//= require_tree .在application.js文件中使用并明确指定每个文件,或放弃保留代码旁边的spec文件.
有没有更好的方法来实现理想的行为?
(我正在使用链轮3.5.2和导轨4.2.6)
我已经安装并配置了WebLogic,当我从控制台运行它时,一切正常(它是Windows 7上的WebLogic 10.3.5,JDK 6).
但是,当我在IntelliJ IDEA中配置WebLogic(正确的BEA Home,正确的域路径等)并尝试运行它时,它甚至使用正确的startWebLogic.cmd,但我得到的所有输出是:
C:\Users\konradstrack\dev\weblogic\base_domain\startWebLogic.cmd
.
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m
.
WLS Start Mode=Development
.
CLASSPATH=C:\PROGRA~2\Java\JDK16~1.0_2\lib\tools.jar;C:\wlserver\server\lib\weblogic_sp.jar;C:\wlserver\server\lib\weblogic.jar;C:\modules\features\weblogic.server.modules_10.3.5.0.jar;C:\wlserver\server\lib\webservices.jar;C:\modules\org.apache.ant_1.7.1/lib/ant-all.jar;C:\modules\net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar;C:\wlserver\common\derby\lib\derbyclient.jar;C:\wlserver\server\lib\xqrl.jar
.
PATH=;C:\wlserver\server\native\win\32;C:\wlserver\server\bin;C:\modules\org.apache.ant_1.7.1\bin;C:\PROGRA~2\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~2\Java\JDK16~1.0_2\bin;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 11.1.3\bin\..\.\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\program files (x86)\jetbrains\intellij idea 11.1.3\jre\jre\bin;C:\wlserver\server\native\win\32\oci920_8
.
***************************************************
* To start WebLogic Server, use a username and *
* password assigned to an admin-level user. For *
* server administration, use the WebLogic Server *
* console at http:\\hostname:port\console *
***************************************************
starting weblogic with Java version:
java version "1.6.0_25"
Java(TM) SE Runtime …Run Code Online (Sandbox Code Playgroud) 我有一个示例类来测试@PreAuthorize注释,它看起来或多或少像这样:
class BankService {
@PreAuthorize("hasCustomRole('ROLE_CUSTOM') or hasRole('ROLE_EXAMPLE')")
Double getAccountBalance(Integer accountNumber) {
return 1234;
}
@PreAuthorize("#accountNumber > 400")
int getValue(Integer accountNumber) {
return 1234;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以hasCustomRole(String expression)在@PreAuthorize注释中注意到,我正在添加:
public class CustomSecurityExpressionRoot extends SecurityExpressionRoot {
public CustomSecurityExpressionRoot(Authentication auth) {
super(auth);
}
public boolean hasCustomRole(String expression) {
return /* some magic */;
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我正在DefaultMethodSecurityExpressionHandler以下列方式进行扩展:
public class CustomMethodSecurityExpressionHandler extends DefaultMethodSecurityExpressionHandler {
public CustomMethodSecurityExpressionHandler() {
super();
}
@Override
public EvaluationContext createEvaluationContext(Authentication auth, MethodInvocation mi) {
StandardEvaluationContext …Run Code Online (Sandbox Code Playgroud) 这个故事非常简短,首先是Lucene课程中的一些摘录:
分析:
public abstract class Analyzer implements Closeable {
(...)
public static class TokenStreamComponents { ... }
(...)
}
Run Code Online (Sandbox Code Playgroud)
AnalyzerWrapper:
public abstract class AnalyzerWrapper extends Analyzer {
(...)
@Override
protected final TokenStreamComponents createComponents(String fieldName, Reader aReader) {
return wrapComponents(fieldName, getWrappedAnalyzer(fieldName).createComponents(fieldName, aReader));
}
(...)
}
Run Code Online (Sandbox Code Playgroud)
现在在Grails应用程序中我定义了自己的类, MyAnalyzer.groovy
class MyAnalyzer extends AnalyzerWrapper {
private final PerFieldAnalyzerWrapper perFieldAnalyzerWrapper
public MyAnalyzer() { ... }
@Override
protected Analyzer getWrappedAnalyzer(String fieldName) {
perFieldAnalyzerWrapper.getWrappedAnalyzer(fieldName)
}
@Override
protected TokenStreamComponents wrapComponents(String fieldName, TokenStreamComponents tokenStreamComponents) {
perFieldAnalyzerWrapper.wrapComponents(fieldName, tokenStreamComponents)
}
} …Run Code Online (Sandbox Code Playgroud)