Sha256: 0cc76daf32aa2125d2b4280eaefcd71ceb8543d4edee346e8f85d433f676b20a

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

require_relative 'paths'

module GitHelper
    include Paths
    
    private
    def repos_changed
        `git fetch origin 1>/dev/null`
        `git diff origin/master` != ''
    end

    public
    def clone_environment
        FileUtils.mkdir_p(path_to_environment)
        
        Dir.chdir(path_to_environment) do
            unless system('git clone git@gitlab.nixdev.co.write:NIX_iPhone_Internal/IJE.git .')
              if system('git clone https://gitlab.nixdev.co/NIX_iPhone_Internal/IJE.git .')
                `git remote set-url origin git@gitlab.nixdev.co.write:NIX_iPhone_Internal/IJE.git`
              end
            end
        end
    end
    
    def clone_provisioning_updater
        FileUtils.mkdir_p(path_to_provisioning_updater)

        Dir.chdir(path_to_provisioning_updater) do
          unless system('git clone git@gitlab.nixdev.co:NIX_iPhone_Internal/NPU.git .')
            if system('git clone https://gitlab.nixdev.co/NIX_iPhone_Internal/NPU.git .')
              `git remote set-url origin git@gitlab.nixdev.co:NIX_iPhone_Internal/NPU.git`
            end
          end
        end
    end
    
    def set_git_hook
        Thread.new do
            Dir.chdir(path_to_environment) do
                loop do
                    if repos_changed
                        `git pull`
                        yield
                    end
                    
                    sleep(15)
                end
            end  
        end
    end
    
    def remove_local_environment
        FileUtils.rm_rf(path_to_environment)
    end
    
    def remove_local_provisioning_updater
        FileUtils.rm_rf(path_to_provisioning_updater)
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nixenvironment-0.0.148 lib/nixenvironment/jenkins/Modules/git_helper.rb