有人可以在构建过程中向我解释构件的概念吗?
我有工作区目录,我查看代码来编译和运行我的ant脚本等.最后,在我的情况下,我得到一个准备安装的jar文件.那被认为是神器吗?
我应该在哪里告诉我的构建脚本放置jar文件?在工作区目录中?我的jar文件根据变量等获取一个唯一的文件名BUILD_ID
,如何判断Jenkins选择哪个jar文件?
编辑:好的,所以我尝试做这样的事情:
该路径在我的工作区中尚不存在,因为构建脚本应该创建它,当然,.jar
和.properties
文件不存在,因为它们尚未生成.为什么它会给我一个错误呢?好像我错过了什么.
此外,Jenkins是否在每次构建后删除工件(不是存档的工件,我知道我可以告诉它删除它们)?否则它会很快堵塞硬盘.
我知道标题不是那么解释,但这是故事:我正在开发一个浏览器游戏,主要使用JavaScript和Mapbox库.
在桌面,Android和iOS上一切都运行良好但在iOS上出现一个问题:在让游戏运行几分钟之后,手机突然开始出现图形伪影并显示大部分文本乱码.
我的问题是:我的代码究竟是什么导致了这个?内存泄漏?(LE:事实证明它实际上是一个内存泄漏)
真正的问题是:你怎么能通过浏览网页几乎把整个手机搞得一团糟?Safari不应该停止这个,或者至少是iOS吗?
这不是这个特定设备的问题,因为这个问题可以在不同的iPhone设备上重现.(我对不同的iOS版本不太确定).
我如何重现错误:
iPhone 5C
iOS 9.2.1(13D15)上.它也出现在新的iOS 9.3版本上.为了解决这个问题,我必须:
关于游戏本身的一些细节:
EDIT2:
发现内存泄漏(如预期).修复此泄漏(检查undefined
_icon)后,问题不再发生.这意味着,在这些行的某处,触发了Safari/iOS错误.
对于每个聚类的单元(隐藏在MarkerCluster中并与其他单元组合在一起),以下是每个tick的确切调用内容:
var $icon = $(marker._icon); // marker._icon is undefined because of the clustering
$icon.html('');
$icon.append($('<img class="markerIcon" src="' + options.iconUrl + '" />'));
var iconX = 10;
var iconY = -10;
var iconOffset = 0;
for(var v in …
Run Code Online (Sandbox Code Playgroud) 我在Mac Yosemite上使用Maven 3.3.3和Java 8.我有一个多模块项目.
<modules>
<module>first-module</module>
<module>my-module</module>
…
</modules>
Run Code Online (Sandbox Code Playgroud)
当我构建我的一个子模块,例如,上面的"my-module",使用"mvn clean install"时,构建尝试从我在〜/ .m2中定义的远程存储库下载子模块工件. /settings.xml文件.输出低于
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building my-module 87.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: https://my.remoterepository.com/nexus/content/repositories/snapshots/org/mainco/subco/first-module/87.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/2/org/mainco/subco/first-module/87.0.0-SNAPSHOT/maven-metadata.xml
Downloaded: https://my.remoterepository.com/nexus/content/repositories/snapshots/org/mainco/subco/first-module/87.0.0-SNAPSHOT/maven-metadata.xml (788 B at 0.9 KB/sec)
Downloading: https://my.remoterepository.com/nexus/content/repositories/snapshots/org/mainco/subco/first-module/87.0.0-SNAPSHOT/first-module-87.0.0-20151104.200545-4.pom
Run Code Online (Sandbox Code Playgroud)
在尝试从远程存储库下载之前,如何强制Maven先检查我的本地〜/ .m2/repository?下面是我在〜/ .m2/settings.xml文件中定义远程存储库的地方......
<profile>
<id>releases</id>
<activation>
<property>
<name>!releases.off</name>
</property>
</activation>
<repositories>
<repository>
<id>releases</id>
<url>https://my.remoterepository.com/nexus/content/repositories/releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<id>snapshots</id>
<activation>
<property>
<name>!snapshots.off</name>
</property>
</activation>
<repositories>
<repository>
<id>snapshots</id>
<url>https://my.remoterepository.com/nexus/content/repositories/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
Run Code Online (Sandbox Code Playgroud)
编辑: …
安装Nexus Repository Manager OSS 3后,我看不到Artifact Upload
通过网页上传工件的选项.
在Nexus Repository Manager OSS 2.13中,可以选择执行该操作.
任何人都可以告诉我如何将工件上传到Nexus 3中的托管存储库?
编辑:从3.9.0版本,实现此功能.
我想将Travis CI用于我的开源项目.特拉维斯没有提供任何方式来发布制作的文物(但是,他们在未来的计划中有这个问题).
在某处发布/上传工件有哪些变通方法?我被允许在CI机器上执行任何脚本.
简单上传将起作用,但存在安全问题:任何人都可以以与所有来源公开相同的方式上传内容.
我在Archive Artifacts
项目中添加了post-build选项.我可以从Web浏览器界面看到工件,但我在文件系统中找不到它们.
他们在哪里?
我通常用Eclipse创建项目并将它们导入Android Studio,因为我讨厌AS给我的项目结构.在模块设置中,我可以创建工件,允许我将构建的apk输出到某个路径.
现在我直接用AS创建了一个Gradle项目,看起来这些项目的选项比eclipse项目少得多.我没有找到任何输出我的apk,我建立后在我的项目文件夹中找不到任何apk.
如何从构建过程中获取未签名的apk?
目前,我们使用FTP来维护构建工件分发和第三方产品(仅供内部使用).
工件是docs(HTML/pdf/chm/...),libs(.dll/.so/.a/.jar/...),程序(.exe/.jar/...)等等.它们不限于Java/.NET,可以来自不同的文化(固件,驱动程序,移动/工作站,GUI,Win/Linux/Mac/Solaris/AIX等).
为了使hierarhy orginize我们使用这样的路径:
ftp://3pp/VENDOR/PRODUCT/VERSION/... ftp://3pp/opensource/PACKAGE-x.x.x.tar.bz2 ftp://dist/PRODUCT/VERSION/...
为了维护工件的描述,我们使用README和CHANGES普通测试文件(reStructuredText).
这个架构中缺少什么?
我不是在寻找现有的解决方案.一些包管理器如rpm/dpkg,听说过Maven repo等......
请推荐Build Artifact Repository Managers.听到缺点和限制也很好.
UPDATE
我的云服务器位于世界各地的不同数据中心.每个数据中心都与其他数据中心分开.
我正在寻找一种简单的方法,可以轻松,一致地在每个区域中将工件部署到各个服务器集群(可能运行不同版本的软件,即开发,测试和生产集群).在我看来,工件服务器是我需要的,因为我可以在云服务器上执行安装脚本,从而下载正确的软件工件.
现在,我在运营方面工作.我不关心做构建或管理软件构建依赖性.我只想要一个工件服务器,我可以存储我的所有不同版本的软件包,以便以后访问.踢球者,我有几种不同类型的工件要存储.
Nexus或Artifactory可以管理所有这些类型的包,还是我应该朝不同的方向寻找?我不反对将make文件添加到我的shell脚本项目中,这些项目只生成tar.gz文件.我只是不想走下设置工件库的道路,最终,一个小脚本,wget和一个apache服务器可以正常工作.
artifacts ×10
nexus ×3
repository ×3
jenkins ×2
android ×1
apk ×1
archive ×1
artifactory ×1
deployment ×1
hudson ×1
ios ×1
iphone ×1
javascript ×1
maven ×1
maven-2 ×1
maven-3 ×1
nexus3 ×1
safari ×1
travis-ci ×1