blob: 299a656e08087568212bc666b1e1ff93ca2e76dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
stages:
- test
- deploy
.connect_to_intra_git:
image:
name: alpine/git:2.47.1
entrypoint: [""]
environment:
name: forge-intra
url: https://intra.forge.epita.fr/epita-ing-assistants-yaka/ping-2027/root/ping-2027/ping-backend
before_script:
- test -n "$GIT_INTRA_REPO_URL"
- test -n "$GIT_INTRA_GLOBAL_URL"
- test -n "$GIT_DEPLOY_BRANCH"
- test -n "$GIT_RUNNER_NAME"
- test -n "$GIT_RUNNER_EMAIL"
- 'command -v ssh-agent >/dev/null || apk add --no-cache openssh'
- eval $(ssh-agent -s)
- chmod 400 "$SSH_PRIVATE_KEY"
- ssh-add "$SSH_PRIVATE_KEY"
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -v -H $GIT_INTRA_GLOBAL_URL >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- ssh -T git@"$GIT_INTRA_GLOBAL_URL"
- git config --global user.email "$RUNNER_GIT_EMAIL"
- git config --global user.name "$RUNNER_GIT_NAME"
- git ls-remote --exit-code -h "$GIT_INTRA_REPO_URL" || { [ $? -ne 2 ] && return 1; }
- git remote | grep 'intra' || git remote add intra "$GIT_INTRA_REPO_URL"
- git remote update
compilation-job:
stage: test
image: maven:3.9.9-amazoncorretto-21-alpine
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: always
script:
- cd ping
- mvn quarkus:build
push-master-state-to-intra-job:
extends: .connect_to_intra_git
stage: deploy
rules:
- if: $CI_COMMIT_BRANCH == "master" && $CI_PIPELINE_SOURCE == "push"
when: always
script:
- git log --all --oneline --graph
- git push intra HEAD:"$GIT_DEPLOY_BRANCH"
push-to-intra-job:
extends: .connect_to_intra_git
stage: deploy
rules:
- if: $CI_COMMIT_TAG != null
&& ($CI_COMMIT_TAG =~ "/^release.*$/"
|| $CI_COMMIT_TAG =~ "/^ping-backend-dementor-.*$/"
|| $CI_COMMIT_TAG =~ "/^ping-backend-submission-.*$/"
|| $CI_COMMIT_TAG =~ "/^ping-backend-continuous-tag-.*$/")
when: always
script:
- git push intra "$CI_COMMIT_TAG"
release-job:
stage: deploy
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG != null
when: always
needs:
- job: push-to-intra-job
artifacts: false
script:
- echo "creating a new release for tag $CI_COMMIT_TAG..."
release:
tag_name: '$CI_COMMIT_TAG'
description: '$CI_COMMIT_TAG'
|