Sha256: bb3b1edac2faa5dc32afb12f72bcd350e7460eac35ab7994a27d1f0a68f112ae
Contents?: true
Size: 1.78 KB
Versions: 1
Compression:
Stored size: 1.78 KB
Contents
require 'git' require 'json' require 'fileutils' # canzea --lifecycle=wire --solution=gogs --action=push-content --args='{"file":"metadata.json","path":"test/a/metadata.json", "comment":"V1.0"}' # canzea --util=push-config git@165.227.87.135:root/ecosystem.git "Latest Input" --args='{"files":[{"file":"metadata.json","path":"test/a/metadata.json"}]}'' class PushConfig def initialize () @log = Logger.new(Canzea::config[:logging_root] + '/plans.log') end def do(url, comment, params) begin # "git@#{ENV["GOGS_ADDRESS"]}:root/ecosystem.git" folder = "_working" FileUtils.rm_rf(folder) g = Git.clone(url, folder, :path => '.') params['files'].each { | f | file = f['file'] path = f['path'] FileUtils.mkdir_p File.dirname("#{folder}/#{path}") open("#{folder}/#{path}", 'w') { |f| f.puts File.read(file) } g.add("#{path}") } count = 0 g.chdir do g.status.changed.each do |file| count = count +1 end g.status.added.each do |file| count = count +1 end g.status.deleted.each do |file| count = count +1 end end if count == 0 puts "No changes" else g.commit(comment) g.push end rescue => exception @log.error("PushConfig Failed") @log.error(exception.to_s) @log.error(exception.backtrace) abort() end end def log (msg) puts msg @log.info(msg) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
canzea-0.1.137 | lib/commands/push-config.rb |