You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 332b3ab
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/site/docs-en/ci/gitlab-ci.md
+16-4Lines changed: 16 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,9 @@ The official FerrFlow Docker image ships the binary and can be used directly as
9
9
10
10
```yaml title=".gitlab-ci.yml"
11
11
release:
12
-
image: ghcr.io/ferrlabs/ferrflow:latest
12
+
image:
13
+
name: ghcr.io/ferrlabs/ferrflow:latest
14
+
entrypoint: [""]
13
15
stage: release
14
16
script:
15
17
- ferrflow release
@@ -20,14 +22,20 @@ release:
20
22
when: on_success
21
23
```
22
24
25
+
The image's entrypoint is `ferrflow`, so `docker run ghcr.io/ferrlabs/ferrflow:latest check` works as is. GitLab runs a job's `script` through a shell instead, which is why every example here resets it with `entrypoint: [""]`. Without that line the job fails with `unrecognized subcommand 'sh'`.
26
+
27
+
The image ships `git`, trusts the checkout whatever user cloned it, and signs release commits as `FerrFlow <bot@ferrflow.com>`. To sign them as the person who triggered the pipeline instead, set `GIT_AUTHOR_NAME: $GITLAB_USER_NAME` and `GIT_AUTHOR_EMAIL: $GITLAB_USER_EMAIL` in the job variables.
28
+
23
29
<aside class="ferr-aside ferr-aside--warning"><div class="ferr-aside__body"><p>Make sure your CI runner clones with full history. Add <code>GIT_DEPTH: 0</code> to the job variables to disable shallow cloning.</p>
24
30
</div></aside>
25
31
26
32
## Full history
27
33
28
34
```yaml title=".gitlab-ci.yml"
29
35
release:
30
-
image: ghcr.io/ferrlabs/ferrflow:latest
36
+
image:
37
+
name: ghcr.io/ferrlabs/ferrflow:latest
38
+
entrypoint: [""]
31
39
variables:
32
40
GIT_DEPTH: 0 # full history: required for tag scanning
33
41
GITLAB_TOKEN: $CI_JOB_TOKEN
@@ -43,7 +51,9 @@ If `CI_JOB_TOKEN` doesn't have permission to push tags, create a project deploy
43
51
44
52
```yaml title=".gitlab-ci.yml"
45
53
release:
46
-
image: ghcr.io/ferrlabs/ferrflow:latest
54
+
image:
55
+
name: ghcr.io/ferrlabs/ferrflow:latest
56
+
entrypoint: [""]
47
57
variables:
48
58
GIT_DEPTH: 0
49
59
GITLAB_TOKEN: $FERRFLOW_DEPLOY_TOKEN # CI variable with write_repository access
@@ -59,7 +69,9 @@ FerrFlow can post a comment on every merge request showing what versions will be
Copy file name to clipboardExpand all lines: docs/site/docs-fr/ci/gitlab-ci.md
+16-4Lines changed: 16 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,9 @@ L'image Docker officielle FerrFlow embarque le binaire et peut être utilisée d
9
9
10
10
```yaml
11
11
release:
12
-
image: ghcr.io/ferrlabs/ferrflow:latest
12
+
image:
13
+
name: ghcr.io/ferrlabs/ferrflow:latest
14
+
entrypoint: [""]
13
15
stage: release
14
16
script:
15
17
- ferrflow release
@@ -20,14 +22,20 @@ release:
20
22
when: on_success
21
23
```
22
24
25
+
Le point d'entrée de l'image est `ferrflow`, donc `docker run ghcr.io/ferrlabs/ferrflow:latest check` fonctionne tel quel. GitLab, lui, exécute le `script` d'un job dans un shell : c'est pourquoi chaque exemple ici le réinitialise avec `entrypoint: [""]`. Sans cette ligne, le job échoue avec `unrecognized subcommand 'sh'`.
26
+
27
+
L'image embarque `git`, fait confiance au dépôt quel que soit l'utilisateur qui l'a cloné, et signe les commits de release `FerrFlow <bot@ferrflow.com>`. Pour les signer au nom de la personne qui a déclenché le pipeline, définissez `GIT_AUTHOR_NAME: $GITLAB_USER_NAME` et `GIT_AUTHOR_EMAIL: $GITLAB_USER_EMAIL` dans les variables du job.
28
+
23
29
<aside class="ferr-aside ferr-aside--warning"><div class="ferr-aside__body"><p>Assurez-vous que votre runner CI clone avec l'historique complet. Ajoutez <code>GIT_DEPTH: 0</code> aux variables du job pour désactiver le clonage superficiel.</p>
24
30
</div></aside>
25
31
26
32
## Historique complet
27
33
28
34
```yaml
29
35
release:
30
-
image: ghcr.io/ferrlabs/ferrflow:latest
36
+
image:
37
+
name: ghcr.io/ferrlabs/ferrflow:latest
38
+
entrypoint: [""]
31
39
variables:
32
40
GIT_DEPTH: 0 # historique complet : requis pour le scan des tags
33
41
GITLAB_TOKEN: $CI_JOB_TOKEN
@@ -43,7 +51,9 @@ Si `CI_JOB_TOKEN` n'a pas les permissions pour pousser des tags, créez un deplo
43
51
44
52
```yaml
45
53
release:
46
-
image: ghcr.io/ferrlabs/ferrflow:latest
54
+
image:
55
+
name: ghcr.io/ferrlabs/ferrflow:latest
56
+
entrypoint: [""]
47
57
variables:
48
58
GIT_DEPTH: 0
49
59
GITLAB_TOKEN: $FERRFLOW_DEPLOY_TOKEN # variable CI avec accès write_repository
@@ -59,7 +69,9 @@ FerrFlow peut poster un commentaire sur chaque merge request montrant quelles ve
0 commit comments