我正在使用 jenkins 与 angular cli 进行持续集成,这是我的步骤:
- 推送到github
- Jenkins 从我的 github 存储库中提取代码,
npm install
然后执行ng build
一切都很好,直到这里。
我的问题是当我尝试将所有内置文件复制/var/lib/jenkins/workspace/mywebsite/dist
到/var/www/html/mywebsite
该目录由 Nginx 管理。
我有这个错误:
cp: cannot create regular file '/var/www/html/mywebsite/./inline.bundle.js': Permission denied
有人能帮我吗 ?
谢谢
不幸的是,您不能轻易地将数据复制过来。相反,为什么不让 NGINX 通过符号链接获取数据呢?
/var/www
改为创建构建目标目录的符号链接:假设 NGINX 也可以读取
/var/lib/jenkins/workspace/mywebsite/dist
文件夹中的数据,这应该绕过让 Jenkins 直接将内容复制到其控制之外的文件夹的需要。请注意,我强烈建议您使用
/var/www/domain.tld
, 替换domain.tld
为您的实际站点,然后将其用于站点配置中的文档根目录,nginx
而不是/var/www/html
. 有一个关于使用默认文档根目录的潜在问题的 NGINX 配置陷阱条目,此处相关。它特别指出: