我有一个名为multibranch-test的github repo,有两个子目录Project1,Project2.
PS C:\Repos\multibranch-test> tree .
Folder PATH listing for volume Windows
Volume serial number is 2085-6D3D
C:\REPOS\MULTIBRANCH-TEST
????Project1
????Project2
每个子目录都有一个Jenkins文件和该项目的代码.
在Jenkins中,我有两个multibranch管道作业 - 一个用于Project1,另一个用于Project2.在Project1的配置中,如果在Project2的子目录中推送了提交,我不希望推送通知或轮询来构建Project1.
所以在Project1中我配置了附加行为:
正在发生的事情是,如果我把一个犯子目录掌握Project2中,既 PROJECT1和Project2的工作得到建造.我只想要构建Project2.有人可以指出我做错了吗?
两个项目的Jenkinsfiles类似,看起来像:
#!groovy
node {
stage ('checkout') {
checkout scm
}
stage ('build') {
dir ('Project1') {
bat 'powershell -Command gci'
bat 'powershell -Command gci env:'
bat 'powershell -File .\\Project1.ps1'
}
}
Run Code Online (Sandbox Code Playgroud) 我string在内存中有一些XML,如下所示:
<symbols>
<symbol>EURCHF</symbol>
<symbol>EURGBP</symbol>
<symbol>EURJPY</symbol>
<symbol>EURUSD</symbol>
</symbols>
Run Code Online (Sandbox Code Playgroud)
我想把它读成一个DataTable.我是这样做的:
DataTable dt = new DataTable();
dt.TableName = "symbols";
dt.Columns.Add("symbol");
if (!String.IsNullOrEmpty(symbols))
{
dt.ReadXml(new StringReader(symbols));
}
Run Code Online (Sandbox Code Playgroud)
但是当我检查行数时,DataTable最终会有零行.我究竟做错了什么?
我有一个Currency类,我使用NHibernate持久保存到我的数据库.Currencyclass看起来像这样:
public class Currency : Entity
{
public virtual string Code { get; set; }
public virtual string Name { get; set; }
public virtual string Symbol { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我用这样写了一个单元测试[TestCase]:
[TestCase(6,Result = new Currency ({ Code="GBP", Name="British Pound", Symbol="£"}))]
public Currency CanGetCurrencyById(int id)
{
ICurrencyRepo currencies = new RepoFactory().CreateCurrencyRepo(_session);
Currency c = currencies.GetById<Currency>(id);
return c;
}
Run Code Online (Sandbox Code Playgroud)
我知道这是错的,但我不确定如何写它.结果可以object吗?
我目前使用Subversion在我的网络上使用本地Debian Linux机器对我的ASP.NET和C#源代码进行版本化.我在本地的回购路径是:http://carbon.local/svn/main/WebSites/MooDB
我想将我的源代码移到Mercurial并将其托管在bitbucket.org上.我在bitbucket上设置了一个帐户,想要将我的本地SVN转换为Hg,然后将带有历史记录的repo上传到bitbucket.bitbucket repo在这里:
https://bitbucket.org/keymoo/moodb
我已经完成了一些谷歌搜索并在临时工作目录中尝试了这个(在Windows 7上运行并安装了TortoiseHg):
hg convert http://carbon.local/svn/main/WebSites/MooDB
这会创建一个.hg文件夹,我在其中运行命令,但我的源代码尚未复制.我也不确定如何将回购和历史变成bitbucket.请帮忙,我只想尽快在bitbucket上启动并运行我的repo +历史记录.
我认为我在概念上缺少关于NHibernate的东西.我有一个Instrument对象映射到instruments我的数据库中的表.我还有一个BrokerInstrument对象映射到brokerInstruments我的数据库中的表.brokerInstrumnets是一张儿童桌instruments.我的课程看起来像:
public class Instrument : Entity
{
public virtual string Name { get; set; }
public virtual string Symbol {get; set;}
public virtual ISet<BrokerInstrument> BrokerInstruments { get; set; }
public virtual bool IsActive { get; set; }
}
public class BrokerInstrument : Entity
{
public virtual Broker Broker { get; set; }
public virtual Instrument Instrument { get; set; }
public virtual decimal MinIncrement { get; set; } …Run Code Online (Sandbox Code Playgroud) 我有一个Credential对象数组,我想测试这些凭据是否有权将文件写入文件共享.
我打算做点什么
$myPath = "\\path\to\my\share\test.txt"
foreach ($cred in $credentialList)
{
"Testing" | Out-File -FilePath $myPath -Credential $cred
}
Run Code Online (Sandbox Code Playgroud)
但后来我发现Out-File不Credential作为参数.解决这个问题的最佳方法是什么?
我正在使用Powershell 1.0从数组中删除项目.这是我的脚本:
param (
[string]$backupDir = $(throw "Please supply the directory to housekeep"),
[int]$maxAge = 30,
[switch]$NoRecurse,
[switch]$KeepDirectories
)
$days = $maxAge * -1
# do not delete directories with these values in the path
$exclusionList = Get-Content HousekeepBackupsExclusions.txt
if ($NoRecurse)
{
$filesToDelete = Get-ChildItem $backupDir | where-object {$_.PsIsContainer -ne $true -and $_.LastWriteTime -lt $(Get-Date).AddDays($days)}
}
else
{
$filesToDelete = Get-ChildItem $backupDir -Recurse | where-object {$_.PsIsContainer -ne $true -and $_.LastWriteTime -lt $(Get-Date).AddDays($days)}
}
foreach ($file in $filesToDelete)
{
# remove …Run Code Online (Sandbox Code Playgroud) 我正在通过一个Microsoft.SqlServer.Management.Smo.Server对象列表进行交互,并将它们添加到哈希表中,如下所示:
$instances = Get-Content -Path .\Instances.txt
$scripts = @{}
foreach ($i in $instances)
{
$instance = New-Object Microsoft.SqlServer.Management.Smo.Server $i
foreach($login in $instance.Logins)
{
$scripts.Add($instance.Name, $login.Script())
}
}
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.我现在想要做的是在哈希表值的末尾附加一个字符串.因此,对于$实例,我想将一个字符串附加到该$实例的哈希表值.我该怎么办?我已经开始这样了,但我不确定我是否走在正确的轨道上:
foreach ($db in $instance.Databases)
{
foreach ($luser in $db.Users)
{
if(!$luser.IsSystemObject)
{
$scripts.Set_Item ($instance, <what do I add in here?>)
}
}
}
Run Code Online (Sandbox Code Playgroud)
干杯
当我在Internet Explorer中定义Web代理时,我有一些运行正常的代码.但是,如果没有定义则不起作用.我想检查是否定义了代理.我如何更改以下代码来做到这一点?
public DataTable GetCurrentFxPrices(string url)
{
WebProxy wp = new WebProxy(WebProxy.GetDefaultProxy().Address.AbsoluteUri, true);
wp.Credentials = CredentialCache.DefaultCredentials;
WebClient wc = new WebClient();
wc.Proxy = wp;
MemoryStream ms = new MemoryStream(wc.DownloadData(url));
DataSet ds = new DataSet("fxPrices");
ds.ReadXml(ms);
DataTable dt = ds.Tables["Rate"];
int i = dt.Rows.Count;
return dt;
}
Run Code Online (Sandbox Code Playgroud)
例如,如何在不使用代理的情况下下载数据?
UPDATE
我已将代码更改为以下内容
public DataTable GetCurrentFxPrices(string url)
{
WebClient wc = new WebClient();
if (!String.IsNullOrEmpty(WebProxy.GetDefaultProxy().Address.AbsoluteUri))
{
WebProxy wp = new WebProxy(WebProxy.GetDefaultProxy().Address.AbsoluteUri, true);
wp.Credentials = CredentialCache.DefaultCredentials;
wc.Proxy = wp;
}
MemoryStream ms = new MemoryStream(wc.DownloadData(url)); …Run Code Online (Sandbox Code Playgroud) 我对正则表达式非常生疏,需要一个从完全限定域名(FQDN)中提取主机名,这是我所拥有的示例:
myhostname.somewhere.env.com
myotherhostname.somewhereelse.insomeotherplace.byh.info
Run Code Online (Sandbox Code Playgroud)
我想回来
myhostname
myotherhostname
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助
我尝试过,"(.+)\."但是它匹配了右边的字符串并产生了:
myhostname.somewhere.env.
myotherhostname.somewhereelse.insomeotherplace.byh.
Run Code Online (Sandbox Code Playgroud)