Class: Pindo::TaskSystem::GitTagTask

Inherits:
GitTask show all
Defined in:
lib/pindo/module/task/model/git/git_tag_task.rb

Overview

Git 标签任务负责在构建成功后创建 Git 标签

Instance Attribute Summary collapse

Attributes inherited from GitTask

#git_root_path, #project_path

Attributes inherited from PindoTask

#callbacks_setup, #context, #created_at, #data_dependencies, #dependencies, #error, #finished_at, #id, #max_retry_count, #metadata, #name, #priority, #result, #retry_count, #retry_delay, #retry_mode, #started_at, #status, #task_key, #task_manager, #type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from GitTask

default_retry_delay, default_retry_mode, task_type, task_type_name

Methods inherited from PindoTask

#before_retry, #cancel, #cancelled?, #check_cancelled!, #data_param, default_retry_delay, default_retry_mode, #do_task, #execution_time, #finished?, #get_all_data_params, #get_all_data_params_by_key, #get_all_dependencies_results, #get_data_param, #get_data_param_by_key, #get_dependency_result, #get_dependency_task, #on, #primary_data_param, #reset_for_retry, #retryable?, #running?, #should_retry?, task_type

Constructor Details

#initialize(project_path, options = {}) ⇒ GitTagTask

初始化 Git 标签任务

Parameters:

  • project_path (String)

    项目路径

  • options (Hash) (defaults to: {})

    选项(与 GitOptions 参数名一致)

    • release_branch: 发布分支名称,默认 ‘master’

    • ver_inc: 版本号增加类型,默认 :mini

    • tag_type: 创建tag类型,默认 :new

    • tag_pre: tag前缀,默认 ‘v’

    • fixed_version: 外部指定的固定版本号,如果设置则跳过版本号计算



31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 31

def initialize(project_path, options = {})
  @release_branch = options[:release_branch] || 'master'
  @ver_inc = options[:ver_inc] || Pindo::VersionIncreaseType::MINI
  @tag_type = options[:tag_type] || Pindo::CreateTagType::NEW
  @tag_pre = options[:tag_pre] || 'v'
  @fixed_version = options[:fixed_version]  # 外部指定的固定版本号

  @build_version = nil
  @build_number = nil
  options[:project_path] = project_path

  super("Git仓库打Tag", options)
end

Instance Attribute Details

#build_numberObject (readonly)

Returns the value of attribute build_number.



11
12
13
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 11

def build_number
  @build_number
end

#build_versionObject (readonly)

Returns the value of attribute build_version.



11
12
13
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 11

def build_version
  @build_version
end

#release_branchObject (readonly)

Returns the value of attribute release_branch.



10
11
12
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 10

def release_branch
  @release_branch
end

#tag_preObject (readonly)

Returns the value of attribute tag_pre.



10
11
12
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 10

def tag_pre
  @tag_pre
end

#tag_typeObject (readonly)

Returns the value of attribute tag_type.



10
11
12
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 10

def tag_type
  @tag_type
end

#ver_incObject (readonly)

Returns the value of attribute ver_inc.



10
11
12
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 10

def ver_inc
  @ver_inc
end

Class Method Details

.default_retry_countObject

重试配置:失败后重试 1 次



19
20
21
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 19

def self.default_retry_count
  2
end

.task_keyObject

任务键



14
15
16
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 14

def self.task_key
  :git_tag
end

Instance Method Details

#validateObject



45
46
47
48
# File 'lib/pindo/module/task/model/git/git_tag_task.rb', line 45

def validate
  super
  true
end