gitee_pack 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9167ffab00077990f5de2a6dedbf981ebf86c5e246cb94fdff655177e7d61656
4
- data.tar.gz: 3cb23c0cdc089eeda2021a1bfcf91ee53827993166341e4e9b2975a44f865191
3
+ metadata.gz: 3f4e4fc20534e610006456f1253a49882b4d7366579141ab00268e8fc77b8f9d
4
+ data.tar.gz: d4e748f744e3f468974e86d1a9ae3458a0b6d4e534ee836d709eafb9eb54be7e
5
5
  SHA512:
6
- metadata.gz: 15cbca079fb2b48658af5116bcd4978431a846a81b41c2c10fe2d2a8ebdb19b33307bbb3196ce3ae097922c958cb809f58102a70eb325d56552d417cdc0a474b
7
- data.tar.gz: 65a87e0230a236f586471d2294dfdea6e744fd0066b7f69c9a458b96f9f03031b8fcf5a5a62cddb181814737dfd2b8f8876914f55380d13443cc2645a1c4bcc0
6
+ metadata.gz: 131088c837eef33d4e89c723348540fb9413ecf8d4fddd87277a6cc78aeeb6e88bcef4b195020e8b46876cb041b3e9abc00e0bb54aee277b3634f88528c25eae
7
+ data.tar.gz: 51d709aba694a05a51d6f19c5ea08e080eb19f2827c16ea17d3606f85f5a85235b9fd4aa72bc2d280e593b3a83a1da72c19fad45ff967b7cd7e04acbb4166612
data/README.md CHANGED
@@ -6,13 +6,17 @@
6
6
 
7
7
  在gitee-premium目录执行:
8
8
 
9
- $ gem install gitee_pack
9
+ ```shell
10
+ $ gem install gitee_pack
11
+ ```
10
12
 
11
13
  ## 使用
12
14
 
15
+ ### 打包
16
+
13
17
  在gitee-premium目录执行:
14
18
 
15
- ```
19
+ ```shell
16
20
  $ gitee_pack [base] [head]
17
21
  ```
18
22
 
@@ -22,7 +26,28 @@ head: Commit提交的SHA值作为对比终点
22
26
 
23
27
  示例:
24
28
 
25
- ```
29
+ ```shell
26
30
  $ gitee_pack a9b6296 6ac0f97
27
31
  ```
28
32
 
33
+ 执行后会在当前目录下生成一个增量文件的升级包,例如 upgrade-20200430
34
+
35
+ ### 部署
36
+
37
+ 先备份原有文件
38
+
39
+ 在升级包中执行update.sh脚本,一键自动部署
40
+
41
+ ```shell
42
+ $ cd upgrade-20200430
43
+ $ ./update.sh [gitee-path]
44
+ ```
45
+
46
+ gitee-path: gitee-premium的绝对路径
47
+
48
+ 示例
49
+
50
+ ```shell
51
+ $ ./update.sh /home/gite/gitee-premium/gitee
52
+ ```
53
+
@@ -8,4 +8,4 @@ start_at = Time.now
8
8
  GiteePack.execute(base, head)
9
9
  end_at = Time.now
10
10
 
11
- puts "\033[32mComplete! cost time: #{end_at - start_at} seconds.\033[0m"
11
+ GiteePack.logger.success "Complete! cost time: #{end_at - start_at} seconds."
@@ -5,6 +5,7 @@ require 'gitee_pack/diff'
5
5
  require 'gitee_pack/folder'
6
6
  require 'gitee_pack/filer'
7
7
  require 'gitee_pack/precompile'
8
+ require 'gitee_pack/logger'
8
9
  require 'gitee_pack/worker'
9
10
 
10
11
  module GiteePack
@@ -13,4 +14,8 @@ module GiteePack
13
14
  def self.execute(base, head, options = {})
14
15
  Worker.new(base, head).execute
15
16
  end
17
+
18
+ def self.logger
19
+ @logger ||= Logger.new
20
+ end
16
21
  end
@@ -2,6 +2,13 @@ module GiteePack
2
2
  class Diff
3
3
  attr_reader :empty_folders, :delete_files, :cp_files
4
4
 
5
+ IGNORE_FILES = [
6
+ 'config/gitee.yml',
7
+ 'config/database.yml',
8
+ 'config/startup.yml',
9
+ 'app/assets/javascripts/webpack/webide'
10
+ ].freeze
11
+
5
12
  def initialize(base, head)
6
13
  @base = base
7
14
  @head = head
@@ -10,7 +17,7 @@ module GiteePack
10
17
  @delete_files = []
11
18
  @cp_files = []
12
19
 
13
- init_diff_status
20
+ init_list_by_files
14
21
  end
15
22
 
16
23
  def diff_files
@@ -33,21 +40,29 @@ module GiteePack
33
40
 
34
41
  private
35
42
 
36
- def init_diff_status
43
+ def init_list_by_files
44
+ init_empty_folders_and_cp_files
45
+ init_delete_files
46
+ end
47
+
48
+ def init_delete_files
49
+ @delete_files = diff_files_with_status.map do |file|
50
+ file.sub("D\t", '') if file.start_with?('D')
51
+ end.compact
52
+ end
53
+
54
+ def init_empty_folders_and_cp_files
37
55
  diff_files.each do |file|
38
- if file.start_with?('app/assets/javascripts/webpack')
39
- @precompile = true
40
- end
56
+ next if IGNORE_FILES.include?(file)
57
+
58
+ file.start_with?('app/assets/javascripts/webpack') && @precompile = true
41
59
 
42
60
  if Dir.exist?(file)
43
61
  @empty_folders << file
44
62
  next
45
63
  end
46
64
 
47
- unless File.exist?(file)
48
- @delete_files << file
49
- next
50
- end
65
+ next unless File.exist?(file)
51
66
 
52
67
  @cp_files << file
53
68
  end
@@ -0,0 +1,35 @@
1
+ #!/bin/bash
2
+
3
+ GITEE_PATH=$1
4
+ if [ ! $GITEE_PATH ]; then
5
+ printf "\033[31mERROR: gitee-path cannot not be empty.\033[0m\n"
6
+ exit 1
7
+ fi
8
+
9
+ FINAL=${GITEE_PATH: -1}
10
+ if [ $FINAL = '/' ]; then
11
+ GITEE_PATH=${GITEE_PATH%?}
12
+ fi
13
+
14
+ APP_PATH=$GITEE_PATH/app
15
+ CONFIG_APTH=$GITEE_PATH/config
16
+ DB_APTH=$GITEE_PATH/db
17
+ if [ ! -d $APP_PATH ] || [ ! -d $CONFIG_PATH ] || [ ! -d $DB_PATH ]; then
18
+ printf "\033[31mERROR: $GITEE_PATH is not the gitee-path.\033[0m\n"
19
+ exit 1
20
+ fi
21
+
22
+ cp -r files/* $GITEE_PATH
23
+ echo cp -r files/\* $GITEE_PATH
24
+
25
+ DELETE_FILE=delete.txt
26
+ if [ -f $DELETE_FILE ]; then
27
+ while read LINE
28
+ do
29
+ rm -rf $GITEE_PATH/$LINE
30
+ echo rm -rf $GITEE_PATH/$LINE
31
+ done < $DELETE_FILE
32
+ fi
33
+
34
+ exit 0
35
+
@@ -6,7 +6,7 @@ module GiteePack
6
6
  dirname = File.join(Folder.upgrade_files_dir, File.dirname(file))
7
7
  FileUtils.mkdir_p dirname
8
8
  FileUtils.cp file, dirname
9
- puts "cp #{file} #{dirname}"
9
+ GiteePack.logger.debug "cp #{file} #{dirname}"
10
10
  end
11
11
  end
12
12
 
@@ -14,13 +14,19 @@ module GiteePack
14
14
  dirname = File.join(Folder.upgrade_files_dir, 'public/webpacks')
15
15
  FileUtils.mkdir_p dirname
16
16
  FileUtils.cp_r 'public/webpacks/.', dirname
17
- puts "cp -r public/webpacks/. #{dirname}"
17
+ GiteePack.logger.debug "cp -r public/webpacks/. #{dirname}"
18
+ end
19
+
20
+ def cp_update_file
21
+ filepath = File.join(File.dirname(__FILE__), 'exe/update.sh')
22
+ FileUtils.cp filepath, Folder.upgrade_dir
23
+ GiteePack.logger.debug "cp #{filepath} #{Folder.upgrade_dir}"
18
24
  end
19
25
 
20
26
  def g_file(path, content = [])
21
27
  File.open(path, 'w') do |f|
22
28
  f.write("#{content.join("\n")}\n")
23
- end
29
+ end unless content.empty?
24
30
  end
25
31
 
26
32
  def g_delete_file(content = [])
@@ -6,8 +6,8 @@ module GiteePack
6
6
  def mkdir_upgrade
7
7
  rm_dir(upgrade_dir)
8
8
  FileUtils.mkdir_p(upgrade_files_dir)
9
- puts "mkdir #{upgrade_dir}"
10
- puts "mkdir #{upgrade_files_dir}"
9
+ GiteePack.logger.debug "mkdir #{upgrade_dir}"
10
+ GiteePack.logger.debug "mkdir #{upgrade_files_dir}"
11
11
  end
12
12
 
13
13
  def upgrade_dir
@@ -21,7 +21,7 @@ module GiteePack
21
21
  def rm_dir(dir)
22
22
  if Dir.exist?(dir)
23
23
  `rm -rf #{dir}`
24
- puts "rm -rf #{dir}"
24
+ GiteePack.logger.debug "rm -rf #{dir}"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,23 @@
1
+ module GiteePack
2
+ class Logger
3
+ def debug(content)
4
+ puts content
5
+ end
6
+
7
+ def info(content)
8
+ puts "\033[36m#{content}\033[0m"
9
+ end
10
+
11
+ def warn(content)
12
+ puts "\033[33m#{content}\033[0m"
13
+ end
14
+
15
+ def error(content)
16
+ puts "\033[31m#{content}\033[0m"
17
+ end
18
+
19
+ def success(content)
20
+ puts "\033[32m#{content}\033[0m"
21
+ end
22
+ end
23
+ end
@@ -1,3 +1,3 @@
1
1
  module GiteePack
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -17,6 +17,7 @@ module GiteePack
17
17
 
18
18
  Filer.g_diff_file(@diff.diff_files_with_status)
19
19
  Filer.g_delete_file(@diff.delete_files)
20
+ Filer.cp_update_file
20
21
 
21
22
  puts_empty_folders
22
23
  puts_delete_files
@@ -26,15 +27,15 @@ module GiteePack
26
27
 
27
28
  def puts_delete_files
28
29
  unless @diff.delete_files.empty?
29
- puts "\n\033[33mDelete Files:\n"
30
- puts "#{@diff.delete_files.join("\n")}\033[0m"
30
+ GiteePack.logger.warn "\nDelete Files:"
31
+ GiteePack.logger.warn "#{@diff.delete_files.join("\n")}"
31
32
  end
32
33
  end
33
34
 
34
35
  def puts_empty_folders
35
36
  unless @diff.empty_folders.empty?
36
- puts "\n\033[33mEmpty Folders:\n"
37
- puts "#{@diff.empty_folders.join("\n")}\033[0m"
37
+ GiteePack.logger.warn "\nEmpty Folders:"
38
+ GiteePack.logger.warn "#{@diff.empty_folders.join("\n")}"
38
39
  end
39
40
  end
40
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitee_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jk-sun
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-29 00:00:00.000000000 Z
11
+ date: 2020-04-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -29,8 +29,10 @@ files:
29
29
  - gitee_pack.gemspec
30
30
  - lib/gitee_pack.rb
31
31
  - lib/gitee_pack/diff.rb
32
+ - lib/gitee_pack/exe/update.sh
32
33
  - lib/gitee_pack/filer.rb
33
34
  - lib/gitee_pack/folder.rb
35
+ - lib/gitee_pack/logger.rb
34
36
  - lib/gitee_pack/precompile.rb
35
37
  - lib/gitee_pack/version.rb
36
38
  - lib/gitee_pack/worker.rb