diff --git a/jenkins/324TempsTw b/jenkins/324TempsTw index 4c88b41..3473ec5 100644 --- a/jenkins/324TempsTw +++ b/jenkins/324TempsTw @@ -13,9 +13,9 @@ pipeline { } stages { + stage('Checkout Code') { steps { - // Pulls the code from the repository where this Jenkinsfile lives checkout scm } } @@ -23,31 +23,45 @@ pipeline { stage('Setup Python & Install Dependencies') { steps { sh ''' - set -e # Exit immediately if a command exits with a non-zero status - - # Create a virtual environment named 'venv' - python3 -m venv venv - - # Activate the virtual environment and install dependencies - . venv/bin/activate && \ - pip install --upgrade pip && \ - pip install -U atproto tweety-ns playwright httpx arrow python-dotenv moviepy grapheme - - # Check if moviepy is installed - pip list | grep moviepy || { echo 'MoviePy installation failed!'; exit 1; } - - # Check if FFmpeg is installed - ffmpeg -version || { echo 'FFmpeg is not installed!'; exit 1; } + set -e + cd "$WORKSPACE" - # Verify that moviepy can be imported - python3 -c "import moviepy" || { echo 'MoviePy import failed!'; exit 1; } + # Crea el venv + python3 -m venv venv - # Install the local browser binaries for this environment - playwright install chromium + # Usa python3 -m pip per evitar problemes de shebang amb sh/dash + "$WORKSPACE/venv/bin/python3" -m pip install --upgrade pip wheel setuptools + + "$WORKSPACE/venv/bin/python3" -m pip install -U \ + atproto \ + tweety-ns \ + playwright \ + httpx \ + arrow \ + python-dotenv \ + moviepy \ + grapheme + + # Verificació moviepy + "$WORKSPACE/venv/bin/python3" -m pip list | grep moviepy \ + || { echo 'MoviePy installation failed!'; exit 1; } + + # Verificació FFmpeg + ffmpeg -version \ + || { echo 'FFmpeg is not installed!'; exit 1; } + + # Verificació imports + "$WORKSPACE/venv/bin/python3" -c "import moviepy; print('moviepy OK')" + "$WORKSPACE/venv/bin/python3" -c "import atproto; print('atproto OK')" + "$WORKSPACE/venv/bin/python3" -c "import playwright; print('playwright OK')" + + # Instal·lació binaris Playwright + PLAYWRIGHT_BROWSERS_PATH=/var/jenkins_home/.playwright-browsers \ + "$WORKSPACE/venv/bin/python3" -m playwright install chromium ''' } } - + stage('Run Script') { steps { // Securely injects Jenkins credentials as environment variables diff --git a/jenkins/324TransitTw b/jenkins/324TransitTw index 21ca9b2..e2eed55 100644 --- a/jenkins/324TransitTw +++ b/jenkins/324TransitTw @@ -13,9 +13,9 @@ pipeline { } stages { + stage('Checkout Code') { steps { - // Pulls the code from the repository where this Jenkinsfile lives checkout scm } } @@ -23,31 +23,45 @@ pipeline { stage('Setup Python & Install Dependencies') { steps { sh ''' - set -e # Exit immediately if a command exits with a non-zero status - - # Create a virtual environment named 'venv' - python3 -m venv venv - - # Activate the virtual environment and install dependencies - . venv/bin/activate && \ - pip install --upgrade pip && \ - pip install -U atproto tweety-ns playwright httpx arrow python-dotenv moviepy grapheme - - # Check if moviepy is installed - pip list | grep moviepy || { echo 'MoviePy installation failed!'; exit 1; } - - # Check if FFmpeg is installed - ffmpeg -version || { echo 'FFmpeg is not installed!'; exit 1; } + set -e + cd "$WORKSPACE" - # Verify that moviepy can be imported - python3 -c "import moviepy" || { echo 'MoviePy import failed!'; exit 1; } + # Crea el venv + python3 -m venv venv - # Install the local browser binaries for this environment - playwright install chromium + # Usa python3 -m pip per evitar problemes de shebang amb sh/dash + "$WORKSPACE/venv/bin/python3" -m pip install --upgrade pip wheel setuptools + + "$WORKSPACE/venv/bin/python3" -m pip install -U \ + atproto \ + tweety-ns \ + playwright \ + httpx \ + arrow \ + python-dotenv \ + moviepy \ + grapheme + + # Verificació moviepy + "$WORKSPACE/venv/bin/python3" -m pip list | grep moviepy \ + || { echo 'MoviePy installation failed!'; exit 1; } + + # Verificació FFmpeg + ffmpeg -version \ + || { echo 'FFmpeg is not installed!'; exit 1; } + + # Verificació imports + "$WORKSPACE/venv/bin/python3" -c "import moviepy; print('moviepy OK')" + "$WORKSPACE/venv/bin/python3" -c "import atproto; print('atproto OK')" + "$WORKSPACE/venv/bin/python3" -c "import playwright; print('playwright OK')" + + # Instal·lació binaris Playwright + PLAYWRIGHT_BROWSERS_PATH=/var/jenkins_home/.playwright-browsers \ + "$WORKSPACE/venv/bin/python3" -m playwright install chromium ''' } } - + stage('Run Script') { steps { // Securely injects Jenkins credentials as environment variables diff --git a/jenkins/324Tw b/jenkins/324Tw index 660efb2..376daea 100644 --- a/jenkins/324Tw +++ b/jenkins/324Tw @@ -13,9 +13,9 @@ pipeline { } stages { + stage('Checkout Code') { steps { - // Pulls the code from the repository where this Jenkinsfile lives checkout scm } } @@ -23,27 +23,41 @@ pipeline { stage('Setup Python & Install Dependencies') { steps { sh ''' - set -e # Exit immediately if a command exits with a non-zero status - - # Create a virtual environment named 'venv' - python3 -m venv venv - - # Activate the virtual environment and install dependencies - . venv/bin/activate && \ - pip install --upgrade pip && \ - pip install -U atproto tweety-ns playwright httpx arrow python-dotenv moviepy grapheme - - # Check if moviepy is installed - pip list | grep moviepy || { echo 'MoviePy installation failed!'; exit 1; } - - # Check if FFmpeg is installed - ffmpeg -version || { echo 'FFmpeg is not installed!'; exit 1; } + set -e + cd "$WORKSPACE" - # Verify that moviepy can be imported - python3 -c "import moviepy" || { echo 'MoviePy import failed!'; exit 1; } + # Crea el venv + python3 -m venv venv - # Install the local browser binaries for this environment - playwright install chromium + # Usa python3 -m pip per evitar problemes de shebang amb sh/dash + "$WORKSPACE/venv/bin/python3" -m pip install --upgrade pip wheel setuptools + + "$WORKSPACE/venv/bin/python3" -m pip install -U \ + atproto \ + tweety-ns \ + playwright \ + httpx \ + arrow \ + python-dotenv \ + moviepy \ + grapheme + + # Verificació moviepy + "$WORKSPACE/venv/bin/python3" -m pip list | grep moviepy \ + || { echo 'MoviePy installation failed!'; exit 1; } + + # Verificació FFmpeg + ffmpeg -version \ + || { echo 'FFmpeg is not installed!'; exit 1; } + + # Verificació imports + "$WORKSPACE/venv/bin/python3" -c "import moviepy; print('moviepy OK')" + "$WORKSPACE/venv/bin/python3" -c "import atproto; print('atproto OK')" + "$WORKSPACE/venv/bin/python3" -c "import playwright; print('playwright OK')" + + # Instal·lació binaris Playwright + PLAYWRIGHT_BROWSERS_PATH=/var/jenkins_home/.playwright-browsers \ + "$WORKSPACE/venv/bin/python3" -m playwright install chromium ''' } } diff --git a/jenkins/3catTw b/jenkins/3catTw index e95d46a..cf6c7bf 100644 --- a/jenkins/3catTw +++ b/jenkins/3catTw @@ -2,7 +2,7 @@ pipeline { agent any options { - timeout(time: 20, unit: 'MINUTES') + timeout(time: 15, unit: 'MINUTES') timestamps() buildDiscarder(logRotator(numToKeepStr: '10')) disableConcurrentBuilds() @@ -12,13 +12,8 @@ pipeline { cron('H/30 * * * *') } - environment { - VENV_DIR = 'venv' - PIP_CACHE_DIR = "${WORKSPACE}/.pip-cache" - PYTHONUNBUFFERED = '1' - } - stages { + stage('Checkout Code') { steps { checkout scm @@ -28,14 +23,16 @@ pipeline { stage('Setup Python & Install Dependencies') { steps { sh ''' - set -euxo pipefail + set -e + cd "$WORKSPACE" - python3 -m venv "${VENV_DIR}" + # Crea el venv + python3 -m venv venv - # Always use venv python explicitly - "${VENV_DIR}/bin/python" -m pip install --upgrade pip wheel setuptools + # Usa python3 -m pip per evitar problemes de shebang amb sh/dash + "$WORKSPACE/venv/bin/python3" -m pip install --upgrade pip wheel setuptools - "${VENV_DIR}/bin/pip" install --cache-dir "${PIP_CACHE_DIR}" -U \ + "$WORKSPACE/venv/bin/python3" -m pip install -U \ atproto \ tweety-ns \ playwright \ @@ -43,21 +40,24 @@ pipeline { arrow \ python-dotenv \ moviepy \ - fastfeedparser \ - beautifulsoup4 \ - charset-normalizer \ - Pillow \ grapheme - # Verify required imports - "${VENV_DIR}/bin/python" -c "import fastfeedparser; print('fastfeedparser OK')" - "${VENV_DIR}/bin/python" -c "import moviepy; print('moviepy OK')" + # Verificació moviepy + "$WORKSPACE/venv/bin/python3" -m pip list | grep moviepy \ + || { echo 'MoviePy installation failed!'; exit 1; } - # Check FFmpeg - ffmpeg -version + # Verificació FFmpeg + ffmpeg -version \ + || { echo 'FFmpeg is not installed!'; exit 1; } - # Install Playwright browser binaries in this workspace environment - "${VENV_DIR}/bin/python" -m playwright install chromium + # Verificació imports + "$WORKSPACE/venv/bin/python3" -c "import moviepy; print('moviepy OK')" + "$WORKSPACE/venv/bin/python3" -c "import atproto; print('atproto OK')" + "$WORKSPACE/venv/bin/python3" -c "import playwright; print('playwright OK')" + + # Instal·lació binaris Playwright + PLAYWRIGHT_BROWSERS_PATH=/var/jenkins_home/.playwright-browsers \ + "$WORKSPACE/venv/bin/python3" -m playwright install chromium ''' } }