标签: build-automation

iPhone 构建配置 - Entitlements.plist

是否可以有两个 Entitlements.plist 文件,以便调试器可以附加的一个与调试构建配置相关联,而没有的一个与发布配置相关联?

iphone build-automation xcode

3
推荐指数
1
解决办法
1156
查看次数

通过命令行参数更改默认蚂蚁目标

我最近被分配了一项任务,让 ant 能够为不同的环境构建战争包。除了一项功能外,我几乎完成了。

蚂蚁env通过 like接受一个参数-Denv=DEV,并使用不同的配置文件来制作 war 包。但默认目标是start构建、部署和启动 tomcat。当我传入-Denv=PRODarg时,我不希望 ant 部署战争也不启动服务器。我只想用蚂蚁来构建ROOT.war。够了。

我知道我可以再输入一个词来实现这个目标,但你知道我们都很懒惰。:D

有谁知道如何根据命令行参数更改默认目标?我的要求如下:

  1. ant -Denv=DEV 将构建、部署和启动服务器
  2. ant -Denv=PROD 只会构建 ROOT.war

java ant build-automation build-process build

3
推荐指数
1
解决办法
8747
查看次数

项目中没有 Makefile.am 的 Makefile.in

在几个项目中,我看到了没有 Makefile.am 的 Makefile.in 。例如 bash http://git.savannah.gnu.org/cgit/bash.git/tree/和 dtach http://dtach.cvs.sourceforge.net/viewvc/dtach/dtach/

一直以为Makefile.in是automake生成的。此外,由于 Makefile.am 是用户编写的文件,我不会认为它会从代码存储库中省略。在 bash 源代码树中,Makefile.in 太大而无法手写,而 dtach 中的 Makefile.in 看起来也是生成的。像这两个项目中的 Makefile.in 是如何生成的?

c build-automation makefile build autotools

3
推荐指数
1
解决办法
400
查看次数

如何在 Travis CI 中并行运行多个构建,每个构建都有一个单独的脚本,用于 C++ 项目?

我有一个 C++ 项目,我想使用 Travis CI 为其自动化构建。

该项目使用 GNU make 构建。有多个构建目标,它们彼此独立,我想使用 Travis CI 自动检查每个目标的构建成功。因此,我希望为每个提交运行多个 Travis 构建,每个目标一个。

我可以这样做的一种方法是:

script:
    - make target1
    - make target2
    - make target3
Run Code Online (Sandbox Code Playgroud)

但是,这可能会隐藏一些问题,例如target2仅在target1已经构建的情况下构建成功。

一个替代方案可能是:

script:
    - make target1
    - make clean
    - make target2
    - make clean
    - make target3
Run Code Online (Sandbox Code Playgroud)

这看起来有点难看,而且可能需要比需要更多的时间。在构建错误target3无法找到,直到target1target2成功建成。

更好的方法可能是使用 Travis 的构建矩阵功能,这是我一直无法做到的。我尝试了以下方法:

matrix:
    - script: make target1
    - script: make target2
    - script: make target3
Run Code Online (Sandbox Code Playgroud)

但这不起作用。C++ 的 Travis 文档表明矩阵可以交错不同的环境和编译器,我无法找到单独运行不同脚本的任何方法。这可以以某种方式与环境一起指定吗?

这可能吗?如果是这样,这样做的正确方法是什么?

谢谢你。

build-automation build travis-ci

3
推荐指数
1
解决办法
1023
查看次数

批处理文件中的字符串符号操作

有没有办法使用.bat/.cmd文件获取字符串的子字符串?

例如,给定字符串"hello.txt"有没有办法剥离.txt?

编辑:还有一种更通用的方法来做到这一点,而不是假设它是一个文件名或文件路径?

build-automation automated-tests dos batch-file

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

将命令行参数传递给Hudson中的Ant

我正在尝试将-lib参数传递给ant,作为使用Hudson的自动构建的一部分,但是看不到这样做的方法.我可以将相关库添加到ant/lib文件夹,但这意味着该库的所有版本必须共享该库的相同版本.

任何帮助非常感谢.

ant build-automation continuous-integration hudson

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

是否有Perl相当于Buildout或RVM?

我已经使用Python的Buildout了一段时间,我真的很喜欢它.我的公司有很多在Perl中开发的系统,我想知道是否有类似于Python的Buildout或Ruby的RVM可用于Perl的东西.我的目标是能够自动化部署,开发环境设置和管理依赖项.

build-automation perl dependency-management

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

Makefile可以确定使用gcc哪些标题丢失?

我有一个简单的库为我生成标题,我希望在Makefile中将它链接在一起.

如果cpp文件包含不存在的头文件,它应该从匹配的源文件生成它(如果相应的文件存在).我无法弄清楚如何做到这一点.

我已经尝试使用gcc -MM提前找出每个.cpp文件的依赖关系,但如果缺少标头,则会失败.我需要知道哪些文件丢失以尝试重新生成它们.

如果我只是定义了一个标题prequisite所有.cpp文件,它总是会重新编译所有的,当然我的.cpp文件.

有关如何重新生成缺少的标头的任何想法?

build-automation dependencies code-generation makefile

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

是否可以从Ant启动Gradle任务?

我正在研究Ant的替代品.我看过GantGradle.

是否可以从Ant启动Gradle任务?这可以在Gant中使用taskdef.

<taskdef
    name         = "gant"
    classname    = "org.codehaus.gant.ant.Gant"
    classpathref = "classpath" 
    />

<gant />
Run Code Online (Sandbox Code Playgroud)

Gradle有类似的东西吗?我很想开始从Ant迁移到Gradle,但我们有一个大型的Ant基础架构,我创建的任何Gradle构建脚本都需要从Ant调用.

谢谢!

ant build-automation gradle

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

从托管的Team Foundation Service下载构建删除

在tfs.visualstudio.com上使用托管的Team Foundation Service,可以在构建定义中选择"将构建输出复制到服务器",这将创建drop文件夹的zip,可以通过团队Web访问通过https下载.我真的需要自动下载这个drop,所以我可以将输入链接到我的构建管道中的下一个阶段.

不幸的是,丢弃URL并不明显,但可以使用TfsDropDownloader创建.

TL; DR - 我无法让TfsDropDownloader工作,我希望其他人使用此工具或类似的方法从https://tfs.visualstudio.com成功下载drop

使用命令行TfsDropDownloader.exe我可以这样做:

TfsDropDownloader.exe /c:"https://MYPROJECTNAME.visualstudio.com/DefaultCollection" /t:"ProjectName" /b:"BuildDefinitionName" /u:username /p:password
Run Code Online (Sandbox Code Playgroud)

...获取一个空的zip文件,其中包含上一次成功构建的正确构建标签名称,例如BuildDefinitionName_20130611.1.zip

在调试器中运行源代码,这是因为为下载而生成的URL:

https://tflonline.visualstudio.com/DefaultCollection/_apis/resources/containers/804/drop/BuildDefinitionName_20130611.1.zip
Run Code Online (Sandbox Code Playgroud)

..返回不受支持的application/json的内容类型.应用程序吞下此异常,但在创建空zip文件之前不会.

Team Foundation Service上的REST API是否可能以某种方式更改,因此生成的URL不再正确?

请注意,我使用的是我的Team Foundation Service帐户中定义的"备用凭据"(即不是我的实时ID) - 使用其他任何内容都可以获取TF30063:未经授权.

build-automation continuous-integration continuous-deployment azure-devops

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