小编dal*_*ons的帖子

我可以让Jenkins从传入的参数构建一个git标签吗?

Jenkins支持参数化构建.

我有一个部署版本,需要通过参数指定标记部署.(将特定标签部署到生产中)

使用git插件有一个简单的方法吗?

我尝试添加参数TAG_NAME,然后将作业的git插件部分中的branch_specifier设置为$ TAG_NAME.不要工作.我明白了:

ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

tags git jenkins

27
推荐指数
3
解决办法
3万
查看次数

Java中静态方法的替代方案

我正在为我编写的Java程序制作一个迷你ORM ...我的数据库中的每个表都有一个类,都继承自ModelBase.

ModelBase 是抽象的,提供了一堆静态方法,用于从db中查找和绑定对象,例如:

public static ArrayList findAll(Class cast_to_class) {
  //build the sql query & execute it 
}
Run Code Online (Sandbox Code Playgroud)

所以你可以做一些事情,比如ModelBase.findAll(Albums.class)获得所有持久专辑的列表.我的问题是,在这个静态上下文中,我需要从具体类Album中获取相应的sql字符串.我不能有像这样的静态方法

public class Album extends ModelBase {
  public static String getSelectSQL() { return "select * from albums.....";}
}
Run Code Online (Sandbox Code Playgroud)

因为Java中没有静态方法的多态性.但我不想创建getSelectSQL()一个实例方法,Album因为我需要创建一个实例,只是为了获得一个在行为上非常静态的字符串.

目前,findAll()使用反射来获取相关类的相应sql:

select_sql = (String)cast_to_class.getDeclaredMethod("getSelectSql", new Class[]{} ).invoke(null, null);
Run Code Online (Sandbox Code Playgroud)

但这非常糟糕.

那么任何想法?这是我一次又一次的一般问题 - 无法在类或接口中指定抽象静态方法.我知道为什么静态方法多态不会也无法工作,但这并不能阻止我再次使用它!

是否有任何模式/构造允许我确保具体的子类X和Y实现一个类方法(或者失败,类常量!)?

java static interface

13
推荐指数
1
解决办法
8277
查看次数

阻止vim grep打开第一个匹配的文件

所以,摆弄EasyGrep.vim插件,尝试让它进入适合我的状态.我正在使用它来递归搜索Rails项目.我几乎得到了我想要它,这是我修改的EasyGrep执行的grep命令的一个例子:

:grep -R -i  --include=*.rb --include=*.rbw --include=*.gem --include=*.gemspec --include=[rR]akefile --include=*.erb --include=*.rhtml SEARCH_WORD .
Run Code Online (Sandbox Code Playgroud)

在光标下找到该单词,并在快速列表中打开搜索结果.

唯一的问题是,:grep似乎会自动将包含第一个匹配的文件打开到当前缓冲区,我希望它这样做,因为那时我丢失了我刚才看到的文件.

有谁知道我怎么能防止这种行为?或者,至少一个hacky解决方法重新打开我正在搜索的文件?

:vimgrep不是一个选项 - 它太慢了.

vim grep

7
推荐指数
1
解决办法
2163
查看次数

jquery推迟转为成功

所以在使用jQuery延迟并且$.when并行加载许多对象.

$.when(
  a.ajax(), b.ajax(), c.ajax()
).then(
  //do something when all are complete
  complete();
);
Run Code Online (Sandbox Code Playgroud)

现在,b.ajax()有时会失败,但我真的不在乎.我只想等到所有调用完成后再调用complete().

不幸的是,一旦b失败,when()拒绝,并且永远不会触发then()回调.这是AFAIK的预期行为$.when(),但在这种情况下非常适合我.

我实际上想要一种说法:

$.when(
  a.ajax(), b.ajax().fail(return success), c.ajax()
).then(...)
Run Code Online (Sandbox Code Playgroud)

或者可能有不同的使用方式when(),或更合适的构造?

jquery promise jquery-deferred

7
推荐指数
2
解决办法
2124
查看次数

使用SMO.Agent检索SQL作业执行状态 - 安全问题

我有一个C#程序,它使用SQL Server管理对象(SMO)接口触发SQL Server代理作业.它看起来像:

Server ssis_server = new Server(
    new ServerConnection(SERVER_NAME, SERVER_USERNAME, SERVER_PASSWORD)
);

var agent = ssis_server.JobServer;
var ssis_job = agent.Jobs[job_name];

var current_status = ssis_job.CurrentRunStatus;

if (current_status == JobExecutionStatus.Idle)
{
    ssis_job.Start();
    OnSuccess("Job started: " + job_name);
}
else
{
    OnError("Job is already running or is not ready.");
}
Run Code Online (Sandbox Code Playgroud)

此时我正在使用SQL Server身份验证来简化操作.

现在,我的问题是,除非它SERVER_USERNAME是'sysadmin'dbo角色的一部分,ssis_job.CurrentRunStatus总是' Idle' - 即使我知道作业正在运行.它没有错误,只是总是报告空闲.
如果用户是管理员,则按预期返回状态.

你说的角色会员?
好吧,我将SERVER_USERNAMESQL Server登录添加到msdb Role SQLAgentOperatorRole,这似乎没有帮助.
作业的所有者是系统管理员帐户 - 如果这是问题,我不知道如何解决它.

有任何想法吗?

c# security jobs smo status

6
推荐指数
1
解决办法
3139
查看次数

在跨平台Java中将文件存储在用户的目录中

我有一个在Mac和Windows上运行的Java应用程序,直接在没有安装的CD/DVD上运行.现在,我需要在本地文件系统的某处存储一个包含每用户数据(想想收藏夹等)的文件,以便可以写入.

那么,您认为这个文件的位置在哪里?我想的是:

<USER_DOCUMENTS_AND_SETTINGS>/application data/myapp/favourites.db 用于windows <USER_HOME_DIR>/.myapp/favourites.db for mac/nix

思考?有没有人知道在Java中确定这些路径的最佳方法?

java cross-platform path

4
推荐指数
2
解决办法
3993
查看次数

标签 统计

java ×2

c# ×1

cross-platform ×1

git ×1

grep ×1

interface ×1

jenkins ×1

jobs ×1

jquery ×1

jquery-deferred ×1

path ×1

promise ×1

security ×1

smo ×1

static ×1

status ×1

tags ×1

vim ×1