3

Я работаю над проектом, где у меня есть только FTP контроль над сервером. Я в основном вручную развертывания изменений от коммитов GIT на сервер.

Есть ли способ автоматизировать это (без написания сценария самостоятельно, что я собираюсь сделать), не имея возможности установить git на сервер?

2 ответа2

4

Я думаю, что вам нужно git-ftp. Во всяком случае, я никогда не пробовал.

3

Пока я ждал ответов, я приготовил это. Хотя теперь мне нужно проверить git-ftp, как предлагает Дэвид Коста. Этот скрипт на самом деле ничего не делает: он просто дает вам команды для вашего собственного FTP.

#!/usr/bin/env ruby
if __FILE__ == $0
  puts "Pulls file list between two git commits and makes ftp commands"
  if ARGV.length != 2
    puts "Sorry, include two hashes as arguments separated by spaces"
    exit
  end

  hash1 = ARGV[0]
  hash2 = ARGV[1]

  command = "git log #{hash1}..#{hash2} --name-status --pretty=\"%p\""

  results = `#{command}`
  results = results.to_a[2..-1].join

  lines = results.to_a
  lines.each do |line|
    modifyAddDelete = line[0..0]
    if (modifyAddDelete=="M" || modifyAddDelete=="A")
      command = "put"
    elsif (modifyAddDelete = "D")
      command = "delete"
    end
    filename = line[2..1000]
    puts "#{command} #{filename}"

  end

end

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .