私はgitlabにコミットするバイナリファイルを無視するようにフックを追加しようとするので、私は/opt/gitlab/embedded/service/gitlab-shell/lib
に新しいのpython(の.py)フックを追加しましたし、私は/opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.rb
rubyフックでpythonファイルを読み込む方法は?
でそのファイルをロードしかし、私は、ファイルをコミットしようとしたとき、私
「
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
で私の前受けるフックファイルが
です:フック/事前に受信:17で、以下の例外が
リモート画面
をコミットしました#!/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ファイルを読み込めないのですか?
私はフックを書こうとしたので、私はPythonでしようとしましたが、今はそのコードをルビーに変更する必要があります。何をすべきか? –