我在CentOS 7上安装了GitLab 7.7.2并成功安装。
现在我尝试以子目录样式运行GitLab,例如http://url/gitlab。
我查看了这个文件并更改为此说明。 的/ opt / gitlab /嵌入/服务/ gitlab-导轨/配置
然后我预编译并出错。
# gitlab-rake assets:precompile RAILS_ENV=production
I, [2015-02-27T17:35:18.980208 #4864] INFO -- : Writing /opt/gitlab/embedded/service/gitlab-rails/public/assets/authbuttons/github_32-199ebcd7adccbfe20068d39bfd57e6bf.png
rake aborted!
Errno::EACCES: Permission denied @ rb_sysopen - /opt/gitlab/embedded/service/gitlab-rails/public/assets/authbuttons/github_32-199ebcd7adccbfe20068d39bfd57e6bf.png+
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
我该怎么办?
答案 0 :(得分:6)
This post描述了一个很好的解决方法。与user Perceval FARAMAZ suggests类似,我们可以打开权限暂时来编译新资产和已更改资产,然后再将其关闭。
通过使用ACL而不是标准位,这仅针对git用户,而不实际更改$(document).ready(function() {
function updateTotal() {
var total = 0;
$('button.selected').each(function() {
total += parseFloat($(this).val());
});
total += parseFloat($('select').val());
$('span.quote-price').text("£" + total.toFixed(2));
}
$('button').click(function() {
$(this).toggleClass('selected');
updateTotal();
});
$('select').change(updateTotal);
$('.reset').click(function() {
$('.selected').removeClass('selected');
$('select').val('0.00');
updateTotal();
});
});
的所有权:
root:root
这适用于添加新图像以及更改现有资产。
答案 1 :(得分:3)
chmod -R 1777 /opt/gitlab/embedded/service/gitlab-rails/public/assets
为我做了诀窍。
它为每个人设置完全读/写/执行的权限,并在' t'上设置粘滞位。 (没有人可以删除除root /文件所有者之外的目录,因此允许rake执行其中的操作。)
答案 2 :(得分:1)
首先,直接更改文件会导致在reconfigure
之后重写文件。致电gitlab-rake
时,您不必说明RAILS_ENV
由gitlab-rake
包装器处理。
就相对url选项而言,现在还没有在omnibus包中实现。