我在为Nightly build构建Jenkins时遇到了这个问题.请注意,存储库项目"project1"很大,大约为900MB.请让我知道如何解决这个问题.
Started by user anonymous
Building in workspace C:\Users\user1\.jenkins\jobs\Nightly Build\workspace
Fetching changes from the remote Git repository
Fetching upstream changes from git@github.com:MyOrg/projectgroup/project1
ERROR: Timeout after 10 minutes
FATAL: Failed to fetch from git@github.com:MyOrg/projectgroup/project1
hudson.plugins.git.GitException: Failed to fetch from git@github.com:MyOrg/projectgroup/project1
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:612)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:836)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:861)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1412)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:652)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:557)
at hudson.model.Run.execute(Run.java:1679)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:509)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:230)
Caused by: hudson.plugins.git.GitException: Command "fetch -t git@github.com:MyOrg/projectgroup/project1 +refs/heads/*:refs/remotes/origin/*" returned status code -1:
stdout:
stderr:
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:981)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:920) …
Run Code Online (Sandbox Code Playgroud) 我有一个纯C++ 11 DLL(没有任何类型的依赖)我已经能够在Linux和Windows上编译一段时间了,现在使用CMake生成项目文件并使/ MSVC在每个相应的本机系统中编译.
我想现在在OSX上编译,我遇到很多问题让CMake在XCode中设置正确的项目设置来编译DLL.
软件版本:
XCode v5.0
CMake v2.8.12
Run Code Online (Sandbox Code Playgroud)
相关的CMake脚本代码:
# Set output directory if Apple OSX:
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message("CMAKE HAS DETECTED A OSX SYSTEM - BUILDING FOR XCODE!")
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++0x -stdlib=libc++")
IF(CMAKE_BUILD_TYPE MATCHES Release)
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/OSX/Release)
ENDIF(CMAKE_BUILD_TYPE MATCHES Release)
IF(CMAKE_BUILD_TYPE MATCHES Debug)
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/OSX/Debug)
ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
Run Code Online (Sandbox Code Playgroud)
但是,设置无法正确进入XCode项目文件:
您可以看到CMake命令进入"其他C++标志"区域.但是XCode仍然无法编译.但是,如果我将'C++标准库'变量更改为'libc ++',它将编译正常.
注意:我可以发布编译错误日志但是我认为上面正确地确定了根本原因 - 我只需要知道CMake命令实际上在上面设置了正确的XCode属性.
我需要能够在Jenkins管道构建期间创建简单的HTTP POST请求.但是我不能使用简单的curl sh脚本,因为我需要它在Windows和Linux节点上工作,如果我可以避免它,我不希望在节点上强制执行更多的工具安装.
我们正在使用的Pipeline插件中使用的Groovy库应该是完成此任务的完美选择.有一个扩展可供Groovy执行名为http-builder的简单POST ,但我不能在我的生活中解决如何在Jenkins的Groovy安装中使用它.
如果我尝试使用Grapes Grab在Pipeline脚本中使用它,我会收到错误,如此处所示.
@Grapes(
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7.1')
)
Run Code Online (Sandbox Code Playgroud)
Groovy Jenkins使用的捆绑版本可能不支持Grapes Grab.是否可以简单地下载并添加http-builder及其依赖项到Jenkins Groovy安装到节点?
过去几天我花了很多时间研究是否可以使用Windows API(最好是Windows 8)来开发一个可以利用单个物理监视器中的多个物理监视器配置中的功能的应用程序.据我所知,你根本做不到,或者根本就没有记录.下面我将介绍我的问题以及我所进行的研究,希望有人可以提供一些我尚未遇到的知识.
问题
在Windows 7+中,多显示器配置能够利用一些很酷的桌面功能,例如能够使用跨越多个显示器的单个大型桌面,在它们之间拖动无缝应用程序,切换是否具有任务栏跨度的能力等等.
我希望能够访问此API并允许我的应用程序使用它来允许用户从单个物理监视器有效地拥有多个虚拟桌面.就那么简单.
解决方案
在这里,我将介绍我发现的一些解决方案,以及为什么它们不起作用(据我所知).
1.使用Window Station和Desktop API创建全新的桌面并在它们之间切换.
"窗口站是与进程关联的安全对象,包含剪贴板,原子表和一个或多个桌面对象.桌面是窗口站中包含的安全对象.桌面具有逻辑显示表面并包含用户界面对象,如窗口,菜单和钩子." MSDN链接.
这是一种在Windows中有效创建多个桌面的非常简洁的方法,允许用户在单个监视器之间切换.但它有以下几点警告:
"Windows没有提供将窗口从一个桌面对象移动到另一个桌面对象的方法,并且因为必须在每个桌面上运行单独的Explorer进程以提供任务栏和开始菜单,所以大多数托盘应用程序仅在第一个桌面上可见." TechNET上的Sysinternals.
2.尝试创建虚假显示驱动程序以强制Windows认为它有多个监视器.
这似乎是几个现有类似应用程序(如ZoneScreen)的有效选项.但是在Windows 7中,安装未签名的驱动程序变得很困难,而在Windows 8中,它似乎是不可能的.
3.通过尝试跟踪应用程序并强制它们隐藏在用户定义的监视器组之间来伪造它.
商用和免费应用程序(如DisplayFusion和Finestra Virtual Desktops)似乎都使用了一个高度复杂且复杂的跟踪已启动应用程序的系统,并试图在用户在虚拟监视器之间切换时隐藏和取消隐藏它们.
这是最可行的解决方案,因为它基本上满足所有要求.但它是一个黑客 - 有些应用程序并没有真正使用它,并且有许多极端情况会失败.
我在这里错过了什么?到目前为止,我的研究是否有误?我还没有检测到API的哪些区域?
最近和ReSharper一起玩了很多,如果C#类或C#文件没有设置代码注释标准,我想为我的团队设置的一件事就是通知.不幸的是,我还没有找到很多关于这个主题的内容.
例如,我想确保所有方法或函数都有上面的注释描述:
/// <summary>
/// Description of MyMethod here.
/// </summary>
public void MyMethod();
Run Code Online (Sandbox Code Playgroud)
我还想看到一个基本的检查是否(代码行数)/(评论行数)是围绕某些神奇的快乐媒体,如果没有则创建通知或警告.
我正在编写一种项目管理应用程序,该应用程序将包含大量“任务”,其中包含许多属性,这些属性将在整个应用程序中呈现。我正在考虑使用 React Query 来预取、本地缓存并从服务器更新此数据。
我想要正确解决的一个关键架构问题是,当我查询或改变时Tasks[123]
,我会影响状态中的单个底层对象,而不是到处都被重复的数据所困扰。乍一看,如果查询键设置正确,React Query 似乎非常适合这项工作。然而,在他们的例子中,他们似乎没有这样做(或者我无法理解)。
在他们的基本示例中,他们Posts
使用 来获取一些启动和查询queryClient.getQueryData(["post", post.id])
。据我所知,如果我查看示例中提供的 ReactQueryDevtools 窗口,这会导致数据重复。
我认为应该重写该示例以使用类似的东西是否正确queryClient.getQueryData(["posts", {id: post.id} ])
?
我目前正在研究如何模拟连接对象之间的资源和消息传输,例如通过网络系统对设备供电或控制消息:
我最近一直在研究TPL Dataflow,不是因为它的线程和并行性,而是它在没有大型杂乱代码处理边缘情况的情况下如何实现数据流水线操作.模拟只能每500ms运行一次,并且实际上不是时间关键.
我一直在玩图书馆并且已经阅读了几次文档,但是我很难用它来实现解决方案.在上面描述的节点概念中,我不确定什么适合Dataflow节点.
我想知道TPL Dataflow是否适合这里,如果是这样,Dataflow Block对应的每个图像节点的基本实现.
我正在尝试将一些数据推送到 DynamoDB 表中,但我无法让 .NET SDK 检测到我需要列表或映射类型,而不是编号/字符串集类型。
var doc = new Document();
doc["Game ID"] = "SW Proto";
doc["Run ID"] = 666;
doc["Profiler Column"] = stats.Key.ToString();
//doc["Stats Data"] = stats.Value as List<string>;
// Works:
doc["Stats Data"] = new List<string> { "2.45", "2.35", "2.5" };
// Fails:
doc["Stats Data"] = new List<string> { "2.45", "2.45", "2.45" };
Run Code Online (Sandbox Code Playgroud)
它会失败,因为数据不唯一,正如 Set 类型所要求的那样。
如何强制将数据序列化为 List 或 Map?
我目前正在经历将一个大型 Git 项目迁移到 Git-LFS 的过程,其中包括重写整个存储库历史记录以在 Git-LFS 中创建并包含某些文件。这部分过程很好。
然而,我在将新存储库推送到上游远程(GitHub)时遇到了麻烦,因为它似乎太大而无法一次性推送:
PS > git push
Counting objects: 337130, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (73730/73730), done.
remote: fatal: pack exceeds maximum allowed size
fatal: sha1 file '<stdout>' write error: Broken pipe30 MiB/s
error: failed to push some refs to 'git@github.com:my-repo.git'
Run Code Online (Sandbox Code Playgroud)
我尝试使用 HTTPS 得到类似的结果:
PS > git push
Counting objects: 337130, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (73730/73730), done.
error: RPC failed; curl 55 …
Run Code Online (Sandbox Code Playgroud) 我有一个Jenkins管道脚本,在大多数情况下都可以正常运行,并且围绕着大多数会导致尝试捕获致命错误的事情。但是,有时确实会发生意想不到的事情,我希望能够有一个安全的方法来完成构建失败之前的一些最终报告。
我可以定义没有发现错误的最终默认“阶段”吗?
我编写了一个 ASP.NET Core Web 应用程序,它使用 Auth0 作为用户的主要授权机制,它中间人是一大堆外部身份验证端点,例如 Google 和 Facebook。这工作得很好,我在那里没有任何问题。
该网络应用程序的核心利用 Google Analytics 来执行自己的分析和业务逻辑。我的网络应用程序正在分析的 Google Analytics 帐户可能并且很可能与用户自己的 Google 帐户不同。需要明确的是,我的意思是,用户很可能会使用他们希望的任何登录提供商登录,然后他们将附加一个特定的 Google 企业帐户,可以访问其企业的 Google Analytics 系统。
Web 应用程序在用户登录和离线时执行分析。
因此,我始终将用户身份验证 (Auth0) 步骤与 Analytics 帐户步骤的身份验证分开。大致流程如下:
之前我也通过 Auth0 推送 Analytics 身份验证,并且使用缓存的 Auth0 刷新令牌来离线工作。然而,它会在几天后过期,并且 Auth0 似乎不提供长期离线访问。
因此,我认为最简单的方法就是不使用 auth0 进行 Analytics 身份验证步骤,直接使用 Google API 进行身份验证并长期存储 Google 刷新令牌。但是我找不到任何具体的例子来说明如何实现这一目标!
c# google-api google-api-dotnet-client asp.net-core-mvc auth0
我已经在这几天了,虽然我很快就设法让Mono的mkbundle在Windows和Linux上创建了一个本机可执行文件但我还是无法为OS X做同样的事情.
我正在使用Mono 3.4.0,因为我需要.NET 4.5支持,并且能够在OS X上编译x86_64也不错.
我目前使用以下简单的bash脚本来尝试mkbundle构建:
#!/bin/bash
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/pkgconfig
#PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/pkgconfig
mkbundle bin/Release/Launcher.exe --static --deps -o bin/Release/OSXNative/Launcher.exe
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
$ ./OSXNativeBuild.sh
OS is: Darwin
Note that statically linking the LGPL Mono runtime has more licensing restrictions than dynamically linking.
See http://www.mono-project.com/Licensing for details on licensing.
Sources: 1 Auto-dependencies: True
embedding: /Volumes/app/Launcher/Launcher/bin/Release/Launcher.exe
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/4.5/mscorlib.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Security/4.0.0.0__b03f5f7f11d50a3a/System.Security.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/Mono.WebBrowser/4.0.0.0__0738eb9f132ed756/Mono.WebBrowser.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Runtime.Serialization.Formatters.Soap/4.0.0.0__b03f5f7f11d50a3a/System.Runtime.Serialization.Formatters.Soap.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Data/4.0.0.0__b77a5c561934e089/System.Data.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/Mono.Data.Tds/4.0.0.0__0738eb9f132ed756/Mono.Data.Tds.dll
embedding: /Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/gac/System.Transactions/4.0.0.0__b77a5c561934e089/System.Transactions.dll …
Run Code Online (Sandbox Code Playgroud)