ci: enable lionsctl pipeline via lionsctl-ci image
Some checks failed
CI/CD Pipeline / pipeline (push) Failing after 3s

This commit is contained in:
2026-04-22 19:42:58 +00:00
parent c8d85427ad
commit 4240f08aa5

View File

@@ -1,58 +1,78 @@
name: CI/CD Lions Pipeline # ============================================================================
# Template — .gitea/workflows/ci.yml
# Drop this file into each app repo (adjust LIONS_JAVA_VERSION +
# LIONS_APP_NAME + optional --deploy-repo-url). It runs inside the
# registry.lions.dev/lionsdev/lionsctl-ci:latest image, so lionsctl,
# kubectl, helm, docker CLI, JDK 17+21 and Maven are all pre-installed.
#
# Required Gitea repo secrets:
# LIONS_REGISTRY_USERNAME (typically "lionsregistry")
# LIONS_REGISTRY_PASSWORD
# LIONS_GIT_USERNAME (typically "lionsdev")
# LIONS_GIT_ACCESS_TOKEN (Gitea PAT with write:repository, write:package)
# LIONS_GIT_PASSWORD (Gitea password for same user — Helm mode)
# SMTP_HOST SMTP_PORT SMTP_USERNAME SMTP_PASSWORD SMTP_FROM
# ============================================================================
name: CI/CD Pipeline
on: on:
push: push:
branches: [main, develop] branches: [ main ]
workflow_dispatch: workflow_dispatch: {}
inputs:
environment:
description: 'Environnement cible'
required: true
default: 'production'
type: choice
options:
- dev
- staging
- production
env: env:
LIONS_CLUSTER: k1 # Adjust per repo:
LIONS_JAVA_VERSION: '17' # override si app en Java 21 # - unionflow-server-impl-quarkus -> 21
# - all others -> 17
LIONS_JAVA_VERSION: "17"
LIONS_CLUSTER: "k1"
jobs: jobs:
pipeline: pipeline:
name: Build + Push + Deploy
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 30 container:
image: registry.lions.dev/lionsdev/lionsctl-ci:latest
credentials:
username: ${{ secrets.LIONS_REGISTRY_USERNAME }}
password: ${{ secrets.LIONS_REGISTRY_PASSWORD }}
# Mount the host docker socket so `docker build/push` inside the
# container hits the runner's daemon (DinD-free).
volumes:
- /var/run/docker.sock:/var/run/docker.sock
steps: steps:
- name: Checkout code - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup lionsctl - name: Show tooling
run: | run: |
# Suppose lionsctl installé sur le runner (via image custom) lionsctl --version || true
# Alternative : curl -L https://git.lions.dev/lionsdev/lionsctl/releases/download/latest/lionsctl -o /usr/local/bin/lionsctl docker --version
lionsctl --version kubectl version --client=true
helm version --short
mvn --version | head -n2
- name: Pipeline deploy - name: Pipeline deploy
env: env:
LIONS_REGISTRY_USERNAME: ${{ secrets.LIONS_REGISTRY_USERNAME }} LIONS_REGISTRY_USERNAME: ${{ secrets.LIONS_REGISTRY_USERNAME }}
LIONS_REGISTRY_PASSWORD: ${{ secrets.LIONS_REGISTRY_PASSWORD }} LIONS_REGISTRY_PASSWORD: ${{ secrets.LIONS_REGISTRY_PASSWORD }}
LIONS_GIT_USERNAME: lionsctl-bot LIONS_GIT_USERNAME: ${{ secrets.LIONS_GIT_USERNAME }}
LIONS_GIT_PASSWORD: ${{ secrets.LIONS_GIT_PASSWORD }}
LIONS_GIT_ACCESS_TOKEN: ${{ secrets.LIONS_GIT_ACCESS_TOKEN }} LIONS_GIT_ACCESS_TOKEN: ${{ secrets.LIONS_GIT_ACCESS_TOKEN }}
LIONS_GIT_PASSWORD: ${{ secrets.LIONS_GIT_PASSWORD }}
SMTP_HOST: ${{ secrets.SMTP_HOST }} SMTP_HOST: ${{ secrets.SMTP_HOST }}
SMTP_PORT: ${{ secrets.SMTP_PORT }}
SMTP_USERNAME: ${{ secrets.SMTP_USERNAME }} SMTP_USERNAME: ${{ secrets.SMTP_USERNAME }}
SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }} SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
SMTP_FROM: ${{ secrets.SMTP_FROM }} SMTP_FROM: ${{ secrets.SMTP_FROM }}
run: | run: |
ENV="${{ github.event.inputs.environment || 'production' }}" # For btpxpress-backend add: --deploy-repo-url https://git.lions.dev/lionsdev/btpxpress-server-k1
# For btpxpress-frontend add: --deploy-repo-url https://git.lions.dev/lionsdev/btpxpress-client-k1
lionsctl pipeline \ lionsctl pipeline \
-u ${{ gitea.server_url }}/${{ gitea.repository }} \ -u ${{ gitea.server_url }}/${{ gitea.repository }} \
-b ${{ gitea.ref_name }} \ -b ${{ gitea.ref_name }} \
-j ${{ env.LIONS_JAVA_VERSION }} \ -j ${{ env.LIONS_JAVA_VERSION }} \
-e "$ENV" \ -e production \
-c ${{ env.LIONS_CLUSTER }} \ -c ${{ env.LIONS_CLUSTER }} \
-p prod \ -p prod \
--deploy-repo-url https://git.lions.dev/lionsdev/lions-user-manager-client-quarkus-primefaces-freya-k1 \
-m admin@lions.dev -m admin@lions.dev