小编chr*_*ish的帖子

如何在env_file中进行变量替换?

我正在使用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中支持的变量替换形式是什么?

docker-compose

6
推荐指数
2
解决办法
1011
查看次数

使用Objection时,自定义协议的实现与无法识别的选择器崩溃

我正在定义一个自定义协议:

@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)

objective-c objective-c-runtime

5
推荐指数
1
解决办法
800
查看次数

如何将 git grep 与正则表达式一起使用?

我多年来一直使用它git grep来搜索固定字符串,但很少使用它来进行正则表达式搜索。

\n

我的代码中有一些带有非本地化字符串的地方。例如:

\n
   JLabel label =  buildLabel("Alphabet");\n
Run Code Online (Sandbox Code Playgroud)\n

在本例中buildLabel()是继承的实用方法。还有buildBoldLabel()buildMultiLineLabel()、 和buildTextArea()

\n

因此,我想在我的代码中搜索这些方法的使用,而不查找本地化字符串。正确的调用应该是:

\n
   JLabel label =  buildLabel(getString("Alphabet"));\n
Run Code Online (Sandbox Code Playgroud)\n

我非常熟悉正则表达式,并且我发现它git grep支持 Perl 字符类。所以我想这会很容易:

\n

$ git grep -P "buildLabel(\\"\\w+\\")"

\n

这不会返回任何结果。所以我在没有 Perl 扩展的情况下尝试了它。

\n

$ git grep "buildLabel(\\"[a-zA-Z_]+\\")"

\n

还是……没有结果。我验证了我可以使用固定字符串进行搜索。

\n

$ git grep "buildLabel(\\"Alphabet\\")"

\n

这返回了我已经知道存在的代码中的实例。然而 ...

\n

$ git grep -P "buildLabel(\\"Alphabet\\")"

\n

不返回任何结果。

\n

我还尝试更改引号字符并得到相同的结果。

\n

$ git grep -P 'buildLabel("\\w+")'... 没有结果

\n …

git grep

5
推荐指数
1
解决办法
2423
查看次数

如何使用 groovy 存储秘密文本或文件

我已经找到了如何使用 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)

可以存储更多种类的凭据。我该怎么办:

  • 秘密档案
  • 密文

groovy jenkins

2
推荐指数
1
解决办法
8678
查看次数