diff --git a/internal/client/gitlab.go b/internal/client/gitlab.go index 52949d7b4ca..b664da1b82d 100644 --- a/internal/client/gitlab.go +++ b/internal/client/gitlab.go @@ -44,7 +44,14 @@ func NewGitLab(ctx *context.Context, token string) (Client, error) { options = append(options, gitlab.WithBaseURL(apiURL)) } - client, err := gitlab.NewClient(token, options...) + + var client *gitlab.Client + var err error + if ctx.Config.GitLabURLs.UseJobToken { + client, err = gitlab.NewJobClient(token, options...) + } else { + client, err = gitlab.NewClient(token, options...) + } if err != nil { return &gitlabClient{}, err } diff --git a/pkg/config/config.go b/pkg/config/config.go index e880fe27ce4..6e987cf84a8 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -30,6 +30,7 @@ type GitLabURLs struct { Download string `yaml:"download,omitempty" json:"download,omitempty"` SkipTLSVerify bool `yaml:"skip_tls_verify,omitempty" json:"skip_tls_verify,omitempty"` UsePackageRegistry bool `yaml:"use_package_registry,omitempty" json:"use_package_registry,omitempty"` + UseJobToken bool `yaml:"use_job_token,omitempty" json:"use_job_token,omitempty"` } // GiteaURLs holds the URLs to be used when using gitea. diff --git a/www/docs/scm/gitlab.md b/www/docs/scm/gitlab.md index 862c26a1380..71864d7fed9 100644 --- a/www/docs/scm/gitlab.md +++ b/www/docs/scm/gitlab.md @@ -30,11 +30,16 @@ You can use GoReleaser with GitLab Enterprise by providing its URLs in the gitlab_urls: api: https://gitlab.mycompany.com/api/v4/ download: https://gitlab.company.com + # set to true if you use a self-signed certificate skip_tls_verify: false + # set to true if you want to upload to the Package Registry rather than attachments # Only works with GitLab 13.5+ use_package_registry: false + + # Set this if you set GITLAB_TOKEN to the value of CI_JOB_TOKEN: + use_job_token: true ``` If none are set, they default to GitLab's public URLs.