问题标签 [phing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
122 浏览

php - 我可以用非自由软件重新分发 Phing 吗?

鉴于不是用 C 或 C++ 编写的程序,我无法理解 LGPL 的条款。他们谈到图书馆被链接和“衍生”作品。如果我要打包一个 php 程序并出售它,但在该程序中部署机制使用了 phing 包(完整地按原样包含全部内容且未修改) - 我会违反 LGPL 的条款吗?

例如,如果这是一个通过链接 phing '库' 编译的 C 程序,那么答案会更容易,它是一个衍生作品,因此除非根据 GPL 发布,否则将不会被视为免费并且也是违规的。但这种情况不同。我没有链接也没有产生衍生品,我只是使用 phing 作为部署工具来移动文件并设置环境。

有人可以阐明一下吗?谢谢!

编辑我明白了,所以因为我只是使用库的功能而不以任何方式修改它,所以无论我是否将它与我的高度专有和昂贵的软件包一起分发,都无关紧要。我说的对吗?

就我而言,我正在打包一个潜在的专有且面向收费的 Web 软件,其中包含一个完整且不受干扰的库,其中包含 LGPL 许可 - GPL 不会发挥作用,因为我没有修改代码并且因为我将它与我的不受干扰的代码一起分发它的原始形式,我很好。对?我只是问,因为我认为这实际上是错误的。我的印象是,GPL 的东西无论如何都不能在未经修改或任何其他形式的封闭许可下重新分发。

0 投票
2 回答
4982 浏览

php - Phing 能做什么 Ant 不能?

我正在做 PHP 开发,我正在考虑使用其中之一。我的机器上同时安装了 PHP 和 Java。理论上我可以使用两者中的任何一个。

选择 Phing 而不是 Ant 的令人信服的论点是什么?

0 投票
1 回答
4781 浏览

deployment - phing 嵌套 if 条件

我无法理解有关给定<if>标签的多个条件的 Phing 文档。这意味着除非您使用标签,否则您不能拥有多个条件<and>,但没有示例说明如何使用它。因此我嵌套了两个<if>标签,但是当我知道有更好的方法时,我觉得这样做很愚蠢。有谁知道我如何使用<and>标签来完成以下任务:

我很惊讶没有人有这方面的经验。Phing 是用 PHP 而不是 Java 实现的“ANT”构建工具。对于感觉缺乏简单而强大的部署工具的 PHP 开发人员来说,它非常有用。Java 能够将自包含的 Web 项目打包成一个文件或将多个 Web 项目文件打包成一个更大的文件,这是一项了不起的能力。ANT 或 Phing 并没有让 PHP 达到这一点,但它是朝着正确方向迈出的明确一步,并且比 GNU Make 过去或将来更容易理解和使用。

0 投票
2 回答
447 浏览

php - 如何将 CI (Hudson) 活动同步到现有的自动化构建过程(phing、svn)中?

我们目前的建造过程

我们是一个小型开发团队(2 到 4 人,具体取决于项目),他们目前使用 Phing 在上线之前将代码部署到暂存环境。我们将代码保存在 SVN 存储库中,主干保存当前的活动开发,并且在某些时候,我们会创建我们测试的分支,然后(如果成功)标记并导出到暂存环境。如果那里一切顺利,我们最终将它们部署在生产服务器中。动作是高度自动化的,但总是由人工干预触发。


疑点

我们现在想在流程中引入持续集成(与 Hudson 一起);不幸的是,我们对活动同步有一些疑问,因为我们担心 CI 会在某种程度上干扰我们的构建过程并导致某些问题。

考虑到自动化 CI 循环具有一定频率的自动执行操作,我们看到两种可能的“集成”情况,每种情况都有其自身的问题:

  1. 案例 A:每个 CI 循环都会产生一个具有自己名称的新分支;我们确实使用这样的名称来手动(通过现在发生的 phing)将代码从 SVN 导出到暂存环境。我在这里看到的问题是(除非采取了特定的对策 - 删除 IE)我们拥有的分支数量很容易失控(假设我们经常提交,这样我们每 N 分钟就有一个新的构建/分支) .

  2. 案例 B:每个 CI 循环都会创建一个名为“current”的新分支,然后仅当我们手动决定将其导出到 staging 时才使用唯一名称对其进行标记;无论如何,只要下一个 CI 周期开始,当前分支就会被删除。我们在这里看到的问题是,当有人将“当前”分支标记/导出到暂存时,可能会启动一个新周期,从而创建不一致的构建(但也许在这里我太悲观了,因为我承认我不知道SVN 是否提供了一些针对此的内置保护)。


说了这么多,我想知道是否有类似经历的人可以这么好心地给我们一些关于这个主题的提示,因为上面描述的方法都没有让我们完全满意。

有没有什么重要的事情我们在整体上完全忽略了?感谢您的关注和(提前)您的帮助!

0 投票
2 回答
346 浏览

php - pear.phing.info 的镜子

pear.phing.info 好像挂了,有人知道这个包有没有镜像吗?

谢谢,乔恩

0 投票
2 回答
10107 浏览

git - 如何生成变更日志:自上次 Hudson 构建以来的 git log?

我正在使用 Phing 在 Hudson 进行后期构建任务。

我想生成包含自上次成功构建 Hudson 以来的所有提交的更改日志。但看起来 Hudson 和 Hudson 的 Git 插件都没有提供%last_build_time%变量。

这将是令人满意的解决方案,(但如何获得时间?):

我现在看到的唯一方法是从作业 xml 文件中提取它,但我不知道是否可以使用 Phing。

您如何生成更改日志?

0 投票
2 回答
3928 浏览

php - 对 phing 目标中的每个文件执行命令

如何在 phing 中对文件集目标的每个文件执行目标操作?例如:

0 投票
2 回答
3139 浏览

zend-framework - 部署 Zend Web 应用程序的最佳方式

我在这里阅读了很多关于部署应用程序的信息,但还没有找到满足我们需求的合适答案。

我们有一个使用 zend 框架构建的大型 Web 应用程序,我们希望将其部署到远程服务器。我们希望能够轻松安全地将应用程序的新版本部署到生产服务器。

需要做的事情如下:

  • 在生产应用程序上放置维护页面?
  • 从 SVN 导出版本
  • 运行一个shell脚本来缩小某个目录中的CSS文件(shell脚本完成)
  • 设置文件和目录的文件权限
  • 复制/同步?文件到生产服务器-> 只更改文件?
  • 从生产应用程序中删除维护页面?

我们使用 SVN 作为代码版本控制工具,并且我们在生产中运行 CentOS 作为我们的服务器操作系统。

我读过:

  • rsync
  • fredistrano / capistrano
  • 自定义外壳脚本

对于简单的一键部署,您有什么建议?

0 投票
1 回答
405 浏览

deployment - 进行(phing)部署时如何“锁定”实时站点

在幻灯片 15 中的http://www.slideshare.net/eljefe/automated-deployment-with-phing上,他们正在讨论在进行部署时“锁定实时站点”。

我们在一个 SAAS 应用程序中运行多个网上商店,用户可能会在其中添加产品、购买产品和在线支付产品等等......

在部署时,我们希望尽可能干净,以免付款或订单或其他关键数据丢失。

我们使用 phing(惊人的工具!)设置了一个部署场景,但是我们缺少一个关键步骤,即在部署时“锁定实时站点”。

在部署后锁定活动站点并使其重新上线的可能方法是什么?

0 投票
1 回答
297 浏览

deployment - phing FtpDeploy“连接到主机失败”

尝试将 ZIP 文件部署到远程 FTP 服务器时出现以下错误。我尝试使用 FTP 客户端(filezilla)连接到服务器,一切顺利。

此外,当连接到像 ftp.belnet.be 这样的公共 ftp 时,连接工作正常。我正在尝试使用端口转发将文件发送到路由器后面的 VSFTPD 服务器。同样,这在使用 Filezilla 的任何位置都可以正常工作,但是 phing 没有连接......

BUILD FAILED /deployment/build.xml:60:12:无法连接到端口 21 上的 FTP 服务器 xxxx:连接到主机失败

总时间:2分30.09秒