Gitea
Uploads artifacts, files, and signatures to a Gitea instance via its Packages option.
- NOTE
-
Only generic packages are supported at the moment.
Configuration
Legend:
-
required
-
optional
-
may use environment variable
-
accepts Name Templates
#
upload:
#
gitea:
# Uploaders require a name.
#
app:
# Enables or disables the uploader.
# Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
#
active: ALWAYS
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout: 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout: 60
# Upload files.
# Defaults to `true`.
#
files: true
# Upload distribution artifacts.
# Defaults to `true`.
#
artifacts: true
# Release checksum files.
# Defaults to `true`.
#
checksums: true
# Upload signatures.
# Defaults to `true`.
#
signatures: true
# Upload catalogs.
# Defaults to `true`.
#
catalogs: true
# Additional properties used when evaluating templates.
#
extraProperties:
# Key will be capitalized and prefixed with `gitea`, i.e, `giteaFoo`.
foo: bar
# The Gitea host url.
#
host: my.gitea.com
# The user or organization that owns the repository.
#
owner: duke
# Token with write access to the repository.
#
token: __USE_ENVIRONMENT_VARIABLE__
# The package name to use.
# If unspecified, will use the uploader's name.
#
packageName: app
# The package version to use.
# If unspecified, will use the project's version.
#
packageVersion: '{{projectVersion}}'
# Uploaders require a name.
#
[upload.gitea.app]
# Enables or disables the uploader.
# Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
#
active = "ALWAYS"
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout = 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout = 60
# Upload files.
# Defaults to `true`.
#
files = true
# Upload distribution artifacts.
# Defaults to `true`.
#
artifacts = true
# Release checksum files.
# Defaults to `true`.
#
checksums = true
# Upload signatures.
# Defaults to `true`.
#
signatures = true
# Upload catalogs.
# Defaults to `true`.
#
catalogs = true
# Additional properties used when evaluating templates.
#
extraProperties.foo = "bar"
# Key will be capitalized and prefixed with `gitea`, i.e, `giteaFoo`.
# The Gitea host url.
#
host = "my.gitea.com"
# The user or organization that owns the repository.
#
owner = "duke"
# Token with write access to the repository.
#
token = "__USE_ENVIRONMENT_VARIABLE__"
# The package name to use.
# If unspecified, will use the uploader's name.
#
packageName = "app"
# The package version to use.
# If unspecified, will use the project's version.
#
packageVersion = "{{projectVersion}}"
{
//
"upload": {
//
"gitea": {
// Uploaders require a name.
//
"app": {
// Enables or disables the uploader.
// Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
"active": "ALWAYS",
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
"connectTimeout": 20,
// Defines the read timeout in seconds.
// Defaults to `60`.
//
"readTimeout": 60,
// Upload files.
// Defaults to `true`.
//
"files": true,
// Upload distribution artifacts.
// Defaults to `true`.
//
"artifacts": true,
// Release checksum files.
// Defaults to `true`.
//
"checksums": true,
// Upload signatures.
// Defaults to `true`.
//
"signatures": true,
// Upload catalogs.
// Defaults to `true`.
//
"catalogs": true,
// Additional properties used when evaluating templates.
//
"extraProperties": {
// Key will be capitalized and prefixed with `gitea`, i.e, `giteaFoo`.
"foo": "bar"
},
// The Gitea host url.
//
"host": "my.gitea.com",
// The user or organization that owns the repository.
//
"owner": "duke",
// Token with write access to the repository.
//
"token": "__USE_ENVIRONMENT_VARIABLE__",
// The package name to use.
// If unspecified, will use the uploader's name.
//
"packageName": "app",
// The package version to use.
// If unspecified, will use the project's version.
//
"packageVersion": "{{projectVersion}}"
}
}
}
}
<jreleaser>
<!--
-->
<upload>
<!--
-->
<gitea>
<!--
Uploaders require a name.
-->
<app>
<!--
Enables or disables the distribution.
Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
Defaults to `NEVER`.
-->
<active>ALWAYS</active>
<!--
Defines the connection timeout in seconds.
Defaults to `20`.
-->
<connectTimeout>20</connectTimeout>
<!--
Defines the read timeout in seconds.
Defaults to `60`.
-->
<readTimeout>60</readTimeout>
<!--
Upload files.
Defaults to `true`.
-->
<files>true</files>
<!--
Upload distribution artifacts.
Defaults to `true`.
-->
<artifacts>true</artifacts>
<!--
Release checksum files.
Defaults to `true`.
-->
<checksums>true</checksums>
<!--
Upload signatures.
Defaults to `true`.
-->
<signatures>true</signatures>
<!--
Upload catalogs.
Defaults to `true`.
-->
<catalogs>true</catalogs>
<!--
Additional properties used when evaluating templates.
-->
<extraProperties>
<!--
Key will be capitalized and prefixed with `gitea`, i.e, `giteaFoo`.
-->
<foo>bar</foo>
</extraProperties>
<!--
The Gitea host url.
-->
<host>my.gitea.com</host>
<!--
The user or organization that owns the repository.
-->
<owner>duke</owner>
<!--
Token with write access to the repository.
-->
<token>__USE_ENVIRONMENT_VARIABLE__</token>
<!--
The package name to use.
If unspecified, will use the uploader's name.
-->
<packageName>app</packageName>
<!--
The package version to use.
If unspecified, will use the project's version.
-->
<packageVersion>{{projectVersion}}</packageVersion>
</app>
</gitea>
</upload>
</jreleaser>
jreleaser {
//
upload {
//
gitea {
// Uploaders require a name.
//
app {
// Enables or disables the uploader.
// Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
active = 'ALWAYS'
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
connectTimeout = 20
// Defines the read timeout in seconds.
// Defaults to `60`.
//
readTimeout = 60
// Upload files.
// Defaults to `true`.
//
files = true
// Upload distribution artifacts.
// Defaults to `true`.
//
artifacts = true
// Release checksum files.
// Defaults to `true`.
//
checksums = true
// Upload signatures.
// Defaults to `true`.
//
signatures = true
// Upload catalogs.
// Defaults to `true`.
//
catalogs = true
// Additional properties used when evaluating templates.
// Key will be capitalized and prefixed with `gitea`, i.e, `giteaFoo`.
//
extraProperties.put('foo', 'bar')
// The Gitea host url.
//
host = 'my.gitea.com'
// The user or organization that owns the repository.
//
owner = 'duke'
// Token with write access to the repository.
//
token = '__USE_ENVIRONMENT_VARIABLE__'
// The package name to use.
// If unspecified, will use the uploader's name.
//
packageName = 'app'
// The package version to use.
// If unspecified, will use the project's version.
//
packageVersion = '{{projectVersion}}'
}
}
}
}
Environment
When not explicitly set, the value of the following properties may be resolved from an environment variable or a system property as shown in the table. The system property takes precedence over the environment variable.
System Property | Environment Variable |
---|---|
active |
|
jreleaser.upload.gitea.${name}.active |
JRELEASER_UPLOAD_GITEA_${name}_ACTIVE |
Substitute ${name} for the value of the named instance. |
Space (' '), underscore (_
), and dash (-
) will be replaced by dot (.
) to separate tokens in the System property.
Space (' '), dash (-
), and dot (.
) will be replaced by underscore (_
) to separate tokens in the environment variable,
such that:
${name} | System Property | Environment Variable |
---|---|---|
foobar |
|
|
fooBar |
|
|
foo bar |
|
|
foo-bar |
|
|
foo_bar |
|
|
foo.bar |
|
|
UploadUrl
The uploadUrl is the URL to upload the artifacts to.
An example configuration may look like
uploadUrl: 'https://{{host}}/api/packages/{{owner}}/generic/{{packageName}}/{{packageVersion}}/{{artifactFile}}'
.
And will result in a final deployment like
https://my.gitea.com/api/packages/duke/generic/app/1.0.0/app-1.0.0.zip
.
DownloadUrl
The downloadUrl is the URL used to download artifacts from.
An example configuration may look like
downloadUrl: 'https://{{host}}/api/packages/{{owner}}/generic/{{packageName}}/{{packageVersion}}/{{artifactFile}}'
.
And will result in a final URL like
https://my.gitea.com/api/packages/duke/generic/app/1.0.0/app-1.0.0.zip
.
Skip Upload
Distributions and Artifacts may define extra properties that may stop them from being uploaded. These properties must conform to the following rules:
-
skipUpload
: skipped from all uploaders. -
skipUpload<type>
: skipped from the typed uploader. -
skipUpload<type><name>
: skipped from the typed and named uploader.
Where <type>
resolves to Gitea
and <name>
resolves to the capitalized name of the Gitea instance, such
that:
-
if the name is
foo
the resulting property key isskipUploadGiteaFoo
. -
if the name is
fooBar
the resulting property key isskipUploadGiteaFooBar
. -
if the name is
foo-bar
the resulting property key isskipUploadGiteaFooBar
.