我正在使用docker-compose,我希望我的env_file具有变量替换.我想在文件中定义一个变量,然后在其他变量中使用它:
APP_ENV=dev-foo
LOCALPATH=/tmp/builddir/${APP_ENV}
GIT_URL=git@github.com:some-org/${APP_ENV}
Run Code Online (Sandbox Code Playgroud)
env_file中支持的变量替换形式是什么?
我正在定义一个自定义协议:
@protocol NGSAuthProvider <NSObject>
- (BOOL)isReady;
- (BOOL)isSessionValid;
- (void)login;
- (void)logout;
- (NSString *)accessToken;
- (BOOL)handleOpenURL:(NSURL *)url;
@end
Run Code Online (Sandbox Code Playgroud)
我想拥有不同的提供商.所以一个是Facebook提供商:
@interface NGSFacebookAuthProvider : NSObject <NGSAuthProvider>
@end
@interface NGSFacebookAuthProvider () <FBSessionDelegate>
@property BOOL ready;
@property(nonatomic, retain) Facebook *facebook;
@property(nonatomic, retain) NSArray *permissions;
@end
@implementation NGSFacebookAuthProvider
//Implementation of fbLogin, fbLogout and the methods in NGSAuthProvider that forward calls to self.facebook
- (NSString *)accessToken
{
return [self.facebook accessToken];
}
@end
Run Code Online (Sandbox Code Playgroud)
我设置了Objection从我的类绑定到协议.
@interface NGSObjectionModule : ObjectionModule
@end
@implementation NGSObjectionModule
- (void)configure
{ …Run Code Online (Sandbox Code Playgroud) 我多年来一直使用它git grep来搜索固定字符串,但很少使用它来进行正则表达式搜索。
我的代码中有一些带有非本地化字符串的地方。例如:
\n JLabel label = buildLabel("Alphabet");\nRun Code Online (Sandbox Code Playgroud)\n在本例中buildLabel()是继承的实用方法。还有buildBoldLabel()、buildMultiLineLabel()、 和buildTextArea()。
因此,我想在我的代码中搜索这些方法的使用,而不查找本地化字符串。正确的调用应该是:
\n JLabel label = buildLabel(getString("Alphabet"));\nRun Code Online (Sandbox Code Playgroud)\n我非常熟悉正则表达式,并且我发现它git grep支持 Perl 字符类。所以我想这会很容易:
$ git grep -P "buildLabel(\\"\\w+\\")"
这不会返回任何结果。所以我在没有 Perl 扩展的情况下尝试了它。
\n$ git grep "buildLabel(\\"[a-zA-Z_]+\\")"
还是……没有结果。我验证了我可以使用固定字符串进行搜索。
\n$ git grep "buildLabel(\\"Alphabet\\")"
这返回了我已经知道存在的代码中的实例。然而 ...
\n$ git grep -P "buildLabel(\\"Alphabet\\")"
不返回任何结果。
\n我还尝试更改引号字符并得到相同的结果。
\n$ git grep -P 'buildLabel("\\w+")'... 没有结果
我已经找到了如何使用 Jenkins 的基于 groovy 的 API 来存储用户名/密码或 SSH 用户名/私钥。
https://gist.github.com/iocanel/9de5c976cc0bd5011653
domain = Domain.global()
store = Jenkins.instance.getExtensionList('com.cloudbees.plugins.credentials.SystemCredentialsProvider')[0].getStore()
priveteKey = new BasicSSHUserPrivateKey(
CredentialsScope.GLOBAL,
"jenkins-slave-key",
"root",
new BasicSSHUserPrivateKey.UsersPrivateKeySource(),
"",
""
)
usernameAndPassword = new UsernamePasswordCredentialsImpl(
CredentialsScope.GLOBAL,
"jenkins-slave-password", "Jenkis Slave with Password Configuration",
"root",
"jenkins"
)
store.addCredentials(domain, priveteKey)
store.addCredentials(domain, usernameAndPassword)
Run Code Online (Sandbox Code Playgroud)
可以存储更多种类的凭据。我该怎么办: