From 5df08e5f63cca4caca478a4e27b31d232df58605 Mon Sep 17 00:00:00 2001 From: Guillem Hernandez Sola Date: Sun, 29 Mar 2026 20:10:38 +0200 Subject: [PATCH] Added new yml --- jenkins/meteocatTw | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 jenkins/meteocatTw diff --git a/jenkins/meteocatTw b/jenkins/meteocatTw new file mode 100644 index 0000000..3785d17 --- /dev/null +++ b/jenkins/meteocatTw @@ -0,0 +1,60 @@ +pipeline { + agent any + + triggers { + // 'H' balances the load on Jenkins, running roughly every 30 minutes + cron('H/30 * * * *') + } + + stages { + stage('Checkout Code') { + steps { + checkout scm + } + } + + stage('Setup Python & Install Dependencies') { + steps { + sh ''' + # Create a virtual environment named 'venv' + python3 -m venv venv + + # Activate it and install the required packages + . venv/bin/activate + pip install -U atproto tweety-ns playwright httpx arrow python-dotenv -q + + # Install the local browser binaries for this specific environment + playwright install chromium + ''' + } + } + + stage('Run Script') { + steps { + // Securely inject Jenkins credentials as environment variables + withCredentials([ + string(credentialsId: 'TWITTER_USERNAME', variable: 'TWITTER_USERNAME'), + string(credentialsId: 'TWITTER_PASSWORD', variable: 'TWITTER_PASSWORD'), + string(credentialsId: 'TWITTER_METEOCAT_EMAIL', variable: 'TWITTER_METEOCAT_EMAIL'), + string(credentialsId: 'TWITTER_METEOCAT_HANDLE', variable: 'TWITTER_METEOCAT_HANDLE'), + string(credentialsId: 'BSKY_METEOCAT_HANDLE', variable: 'BSKY_HANDLE'), + string(credentialsId: 'BSKY_METEOCAT_APP_PASSWORD', variable: 'BSKY_APP_PASSWORD') + ]) { + sh ''' + # Activate the exact same virtual environment so Python finds Playwright and Arrow + . venv/bin/activate + + # Run the daemon with the injected credentials + python3 twitter2bsky_daemon.py \ + --twitter-username "$TWITTER_USERNAME" \ + --twitter-password "$TWITTER_PASSWORD" \ + --twitter-email "$TWITTER_METEOCAT_EMAIL" \ + --twitter-handle "$TWITTER_METEOCAT_HANDLE" \ + --bsky-handle "$BSKY_METEOCAT_HANDLE" \ + --bsky-password "$BSKY_METEOCAT_APP_PASSWORD" + ''' + } + } + } + } +} \ No newline at end of file