diff --git a/constant/constant.go b/constant/constant.go index a4c42c5..65edbfc 100644 --- a/constant/constant.go +++ b/constant/constant.go @@ -6,6 +6,7 @@ const ( ReleaseName = "release-name" // 发布名称 ReleaseBody = "release-body" // 发布详情 Tag = "tag" // 发布标签 + Milestones = "milestones" // 发布里程碑 AutoCreateTag = "auto-create-tag" // 自动创建不存在的标签 Artifacts = "artifacts" // 发布产物 GithubToken = "github-token" // Github Token @@ -14,5 +15,6 @@ const ( GiteeRepository = "gitee-repository" // Gitee 仓库,如:https://gitee.com/xuxiaowei-com-cn/cicd-release.git 仓库应该为:xuxiaowei-com-cn/cicd-release GitlabToken = "gitlab-token" // Gitlab Token GitlabInstance = "gitlab-instance" // Gitlab 实例(协议 + 域名) + GitlabApi = "gitlab-api" // Gitlab API,如:api/v4 GitlabRepository = "gitlab-repository" // Gitee 仓库,如:https://gitlab.com/xuxiaowei-com-cn/cicd-release.git 仓库应该为:xuxiaowei-com-cn/cicd-release ) diff --git a/flag/flag.go b/flag/flag.go index eb32a53..98af231 100644 --- a/flag/flag.go +++ b/flag/flag.go @@ -36,6 +36,13 @@ func AutoCreateTagFlag() cli.Flag { } } +func MilestonesFlag() cli.Flag { + return &cli.StringSliceFlag{ + Name: constant.Milestones, + Usage: "发布里程碑", + } +} + func ArtifactsFlag() cli.Flag { return &cli.StringSliceFlag{ Name: constant.Artifacts, @@ -104,12 +111,21 @@ func GitlabInstanceFlag() cli.Flag { } } +func GitlabApiFlag() cli.Flag { + return &cli.StringFlag{ + Name: constant.GitlabApi, + Usage: "Gitlab API,如:api/v4", + Value: "api/v4", + } +} + func GiteeFlag() []cli.Flag { return []cli.Flag{ ReleaseNameFlag(true), ReleaseBodyFlag(), TagFlag(true), AutoCreateTagFlag(), + MilestonesFlag(), ArtifactsFlag(), GiteeRepositoryFlag(true), @@ -123,9 +139,11 @@ func GitlabFlag() []cli.Flag { ReleaseBodyFlag(), TagFlag(true), AutoCreateTagFlag(), + MilestonesFlag(), ArtifactsFlag(), GitlabInstanceFlag(), + GitlabApiFlag(), GitlabRepositoryFlag(true), GitlabTokenFlag(true), } @@ -137,6 +155,7 @@ func GithubFlag() []cli.Flag { ReleaseBodyFlag(), TagFlag(true), AutoCreateTagFlag(), + MilestonesFlag(), ArtifactsFlag(), GithubRepositoryFlag(true), @@ -150,12 +169,14 @@ func CommonFlag() []cli.Flag { ReleaseBodyFlag(), TagFlag(false), AutoCreateTagFlag(), + MilestonesFlag(), ArtifactsFlag(), GiteeRepositoryFlag(false), GiteeTokenFlag(false), GitlabInstanceFlag(), + GitlabApiFlag(), GitlabRepositoryFlag(false), GitlabTokenFlag(false),