Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change docker tag logic #16421

Merged
merged 5 commits into from
Jul 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 179 additions & 6 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ steps:

---
kind: pipeline
name: docker-linux-amd64-release
name: docker-linux-amd64-release-version

platform:
os: linux
Expand All @@ -703,7 +703,6 @@ depends_on:

trigger:
ref:
- refs/heads/main
- "refs/tags/**"
event:
exclude:
Expand Down Expand Up @@ -754,6 +753,70 @@ steps:
exclude:
- pull_request

---
kind: pipeline
name: docker-linux-amd64-release

platform:
os: linux
arch: amd64

depends_on:
- testing-amd64
- testing-arm64

trigger:
ref:
- refs/heads/main
event:
exclude:
- cron

steps:
- name: fetch-tags
image: docker:git
commands:
- git fetch --tags --force

- name: publish
pull: always
image: techknowlogick/drone-docker:latest
settings:
auto_tag: false
tags: dev-linux-amd64
repo: gitea/gitea
build_args:
- GOPROXY=off
password:
from_secret: docker_password
username:
from_secret: docker_username
when:
event:
exclude:
- pull_request

- name: publish-rootless
image: techknowlogick/drone-docker:latest
settings:
dockerfile: Dockerfile.rootless
auto_tag: false
tags: dev-linux-amd64-rootless
repo: gitea/gitea
build_args:
- GOPROXY=off
password:
from_secret: docker_password
username:
from_secret: docker_username
environment:
PLUGIN_MIRROR:
from_secret: plugin_mirror
when:
event:
exclude:
- pull_request

---
kind: pipeline
name: docker-linux-arm64-dry-run
Expand Down Expand Up @@ -788,7 +851,7 @@ steps:

---
kind: pipeline
name: docker-linux-arm64-release
name: docker-linux-arm64-release-version

platform:
os: linux
Expand All @@ -800,7 +863,6 @@ depends_on:

trigger:
ref:
- refs/heads/main
- "refs/tags/**"
event:
exclude:
Expand Down Expand Up @@ -856,7 +918,73 @@ steps:

---
kind: pipeline
name: docker-manifest
name: docker-linux-arm64-release

platform:
os: linux
arch: arm64

depends_on:
- testing-amd64
- testing-arm64

trigger:
ref:
- refs/heads/main
event:
exclude:
- cron

steps:
- name: fetch-tags
techknowlogick marked this conversation as resolved.
Show resolved Hide resolved
image: docker:git
commands:
- git fetch --tags --force

- name: publish
pull: always
image: techknowlogick/drone-docker:latest
settings:
auto_tag: false
tags: dev-linux-arm64
repo: gitea/gitea
build_args:
- GOPROXY=off
password:
from_secret: docker_password
username:
from_secret: docker_username
environment:
PLUGIN_MIRROR:
from_secret: plugin_mirror
when:
event:
exclude:
- pull_request

- name: publish-rootless
image: techknowlogick/drone-docker:latest
settings:
dockerfile: Dockerfile.rootless
auto_tag: false
tags: dev-linux-arm64-rootless
repo: gitea/gitea
build_args:
- GOPROXY=off
password:
from_secret: docker_password
username:
from_secret: docker_username
environment:
PLUGIN_MIRROR:
from_secret: plugin_mirror
when:
event:
exclude:
- pull_request
---
kind: pipeline
name: docker-manifest-version

platform:
os: linux
Expand Down Expand Up @@ -888,12 +1016,54 @@ steps:

trigger:
ref:
- refs/heads/main
- "refs/tags/**"
event:
exclude:
- cron

depends_on:
- docker-linux-amd64-release-version
- docker-linux-arm64-release-version

---
kind: pipeline
name: docker-manifest

platform:
os: linux
arch: amd64

steps:
- name: manifest-rootless
pull: always
image: plugins/manifest
settings:
auto_tag: false
ignore_missing: true
spec: docker/manifest.rootless.tmpl
password:
from_secret: docker_password
username:
from_secret: docker_username

- name: manifest
image: plugins/manifest
settings:
auto_tag: false
ignore_missing: true
spec: docker/manifest.tmpl
password:
from_secret: docker_password
username:
from_secret: docker_username

trigger:
ref:
- refs/heads/main
event:
exclude:
- cron

depends_on:
- docker-linux-amd64-release
- docker-linux-arm64-release
Expand Down Expand Up @@ -927,7 +1097,10 @@ depends_on:
- release-latest
- docker-linux-amd64-release
- docker-linux-arm64-release
- docker-linux-amd64-release-version
- docker-linux-arm64-release-version
- docker-manifest
- docker-manifest-version
- docs

steps:
Expand Down
7 changes: 4 additions & 3 deletions docker/manifest.rootless.tmpl
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-rootless
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}dev{{/if}}-rootless
{{#if build.tags}}
tags:
{{#each build.tags}}
- {{this}}-rootless
{{/each}}
- "latest-rootless"
{{/if}}
manifests:
-
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64-rootless
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}dev{{/if}}-linux-amd64-rootless
platform:
architecture: amd64
os: linux
-
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64-rootless
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}dev{{/if}}-linux-arm64-rootless
platform:
architecture: arm64
os: linux
Expand Down
9 changes: 5 additions & 4 deletions docker/manifest.tmpl
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}dev{{/if}}
{{#if build.tags}}
tags:
{{#each build.tags}}
- {{this}}
{{/each}}
- "latest"
{{/if}}
manifests:
-
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{else}}dev-{{/if}}linux-amd64
platform:
architecture: amd64
os: linux
-
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{else}}dev-{{/if}}linux-arm64
platform:
architecture: arm64
os: linux
variant: v8
variant: v8
17 changes: 8 additions & 9 deletions docs/content/doc/installation/with-docker-rootless.en-us.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,14 @@ image as a service. Since there is no database available, one can be initialized
Create a directory for `data` and `config` then paste the following content into a file named `docker-compose.yml`.
Note that the volume should be owned by the user/group with the UID/GID specified in the config file. By default Gitea in docker will use uid:1000 gid:1000. If needed you can set ownership on those folders with the command: `sudo chown 1000:1000 config/ data/`
If you don't give the volume correct permissions, the container may not start.
Also be aware that the tag `:latest-rootless` will install the current development version.
For a stable release you can use `:1-rootless` or specify a certain release like `:{{< version >}}-rootless`.
For a stable release you could use `:latest-rootless`, `:1-rootless` or specify a certain release like `:{{< version >}}-rootless`, but if you'd like to use the latest development version then `:dev-rootless` would be an appropriate tag.

```yaml
version: "2"

services:
server:
image: gitea/gitea:latest-rootless
image: gitea/gitea:{{< version >}}-rootless
techknowlogick marked this conversation as resolved.
Show resolved Hide resolved
restart: always
volumes:
- ./data:/var/lib/gitea
Expand All @@ -63,7 +62,7 @@ version: "2"

services:
server:
image: gitea/gitea:latest-rootless
image: gitea/gitea:{{< version >}}-rootless
restart: always
volumes:
- ./data:/var/lib/gitea
Expand All @@ -87,7 +86,7 @@ version: "2"

services:
server:
image: gitea/gitea:latest-rootless
image: gitea/gitea:{{< version >}}-rootless
+ environment:
+ - GITEA__database__DB_TYPE=mysql
+ - GITEA__database__HOST=db:3306
Expand Down Expand Up @@ -128,7 +127,7 @@ version: "2"

services:
server:
image: gitea/gitea:latest-rootless
image: gitea/gitea:{{< version >}}-rootless
environment:
+ - GITEA__database__DB_TYPE=postgres
+ - GITEA__database__HOST=db:5432
Expand Down Expand Up @@ -174,7 +173,7 @@ version: "2"
+
services:
server:
image: gitea/gitea:latest-rootless
image: gitea/gitea:{{< version >}}-rootless
restart: always
volumes:
- - ./data:/var/lib/gitea
Expand All @@ -201,7 +200,7 @@ version: "2"

services:
server:
image: gitea/gitea:latest-rootless
image: gitea/gitea:{{< version >}}-rootless
restart: always
+ user: 1001
volumes:
Expand Down Expand Up @@ -262,7 +261,7 @@ docker-compose up -d
- Rename folder (inside volume) gitea to custom
- Edit app.ini if needed
- Set START_SSH_SERVER = true
- Use image gitea/gitea:latest-rootless
- Use image gitea/gitea:{{< version >}}-rootless

## Managing Deployments With Environment Variables

Expand Down
3 changes: 1 addition & 2 deletions docs/content/doc/installation/with-docker.en-us.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ image as a service. Since there is no database available, one can be initialized
Create a directory like `gitea` and paste the following content into a file named `docker-compose.yml`.
Note that the volume should be owned by the user/group with the UID/GID specified in the config file.
If you don't give the volume correct permissions, the container may not start.
Also be aware that the tag `:latest` will install the current development version.
For a stable release you can use `:1` or specify a certain release like `:{{< version >}}`.
For a stable release you can use `:latest`, `:1` or specify a certain release like `:{{< version >}}`, but if you'd like to use the latest development version of Gitea then you could use the `:dev` tag.

```yaml
version: "3"
Expand Down