Dan*_*rys 5 debian continuous-integration jenkins
一段时间以来,我一直在努力将(主要是 PHP)网站部署为 .deb 文件,并想知道是否有比我相当复杂的方法更好的方法。我的目标是在我的临时服务器上进行持续集成,并从 Jenkins 内一键部署到实时服务器。
我现在的用例:
我试图设置一个 Jenkins CI 服务器来观察 Git 存储库的提交并自动执行构建。问题是 Jenkins 以自己的用户身份运行,该用户无权设置上述文件权限。我也看不到在 Jenkins 内部的 fakeroot 环境中运行 Phing 构建的明显方法。
我的问题是:
我可能误解了 .debs 是如何工作的,但是本地文件系统源代码上的文件所有权必须镜像目标似乎相当不方便!
我对人们用来执行类似任务的任何其他构建和 CI 系统的建议持开放态度。
Debian 软件包是一个由多部分组成的存档,其中包含数据和控制信息/debian
。数据档案基本上按原样提取。控制存档被提取并大部分移入/var/lib/dpkg/info
,并在适当时调用 pre|post-inst|rm 脚本。如果您想在提取文件后更改某些内容,请在 postinst 中进行。
但本地文件系统源代码上的文件所有权必须镜像目标似乎相当不方便!
一般来说,人们会构建一个 chroot 或虚拟机来镜像他们正在为其构建包的体系结构。尝试从 OSX 为 Debian 系统构建软件包的情况相当罕见。
dpkg-deb 命令是否真的需要预先在文件系统上设置所有文件权限?
这是处理权限的正常方式。安装后修改权限是例外,而不是规则。
归档时间: |
|
查看次数: |
3960 次 |
最近记录: |