나는 gitlab에 투입 바이너리 파일을 무시하도록 후크를 추가하려고, 그래서 /opt/gitlab/embedded/service/gitlab-shell/lib
의 새로운 파이썬 (평) 후크를 추가하고 난 /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.rb
ruby hook에서 python 파일을로드하는 방법은 무엇입니까?
에서 해당 파일을로드하지만 파일을 커밋했을 때 내가 아래 예외의 화면을
원격 커밋되었다 : 후크/선주문 수신 : 17 :
'require_relative': cannot load such file -- /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_ignore_binary.py (LoadError) remote: from hooks/pre-receive:17:in
내 미리 수신 후크 파일
#!/opt/gitlab/embedded/bin/ruby
# Fix the PATH so that gitlab-shell can find git-upload-pack and friends.
ENV['PATH'] = '/opt/gitlab/bin:/opt/gitlab/embedded/bin:' + ENV['PATH']
#!/usr/bin/env ruby
#!/usr/bin/env python
# This file was placed here by GitLab. It makes sure that your pushed commits
# will be processed properly.
refs = $stdin.read
key_id = ENV.delete('GL_ID')
protocol = ENV.delete('GL_PROTOCOL')
repo_path = Dir.pwd
gl_repository = ENV['GL_REPOSITORY']
require_relative '../lib/gitlab_ignore_binary.py'
require_relative '../lib/gitlab_custom_hook'
require_relative '../lib/gitlab_reference_counter'
require_relative '../lib/gitlab_access'
# It's important that on pre-receive `increase_reference_counter` gets executed
# last so that it only runs if everything else succeeded. On post-receive on the
# other hand, we run GitlabPostReceive first because the push is already done
# and we don't want to skip it if the custom hook fails.
if GitlabAccess.new(gl_repository, repo_path, key_id, refs, protocol).exec &&
GitlabCustomHook.new(repo_path, key_id).pre_receive(refs) &&
GitlabReferenceCounter.new(repo_path).increase
exit 0
else
exit 1
end
.py 파일을로드 할 수없는 이유는 무엇입니까?
나는 후크를 작성하려고 했으므로 파이썬으로 시도했다. 이제 루비 코드를 변경해야한다. 무엇을해야합니까? –